Discussions sur le module de base de données Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.
Modérateur :Vilains modOOs
Règles du forum
Cette section est dédiée au module Base et plus particulièrement sur le langage SQL ou sur les connexions aux SGBD tiers. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
Pour accélérer les réponses, vous pouvez mettre en ligne votre base en joignant un fichier ODB : comment faire.
Bonjour,
J'ai une base connectée à une DB PostgreSQL 9.6.
La base comporte des formulaires simples et d'autres composés de nombreux sous-formulaires en cascade (jusqu'à 5 niveaux de sous-formulaires).
Au chargement d'un formulaire comportant au moins un sous-formulaire, de nombreuses erreurs sont générées dans le log de PostgreSQL:
STATEMENT: SELECT * FROM "public"."logement" WHERE ( 0 = 1 ) AND ( ( ( "public"."logement"."id" = :link_from_id_logement ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 88
STATEMENT: SELECT * FROM "public"."immeuble" WHERE ( 0 = 1 ) AND ( ( ( "public"."immeuble"."id" = :link_from_immeuble ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 82
STATEMENT: SELECT * FROM "public"."ville" WHERE ( 0 = 1 ) AND ( ( ( "public"."ville"."id" = :link_from_adresse_ville ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 94
STATEMENT: SELECT * FROM "public"."code_postal" WHERE ( 0 = 1 ) AND ( ( ( "public"."code_postal"."id" = :link_from_adresse_cp ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 78
STATEMENT: SELECT * FROM "public"."rue" WHERE ( 0 = 1 ) AND ( ( ( "public"."rue"."id" = :link_from_adresse_rue ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 96
STATEMENT: SELECT * FROM "public"."l_zone_rue" WHERE ( 0 = 1 ) AND ( ( ( "public"."l_zone_rue"."id_rue" = :link_from_adresse_rue ) AND ( "public"."l_zone_rue"."numero_rue_de" = :link_from_numero_rue ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 82
STATEMENT: SELECT * FROM "public"."zones" WHERE ( 0 = 1 ) AND ( ( ( "public"."zones"."id" = :link_from_id_zone ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 92
STATEMENT: SELECT * FROM "public"."l_cq_rue" WHERE ( 0 = 1 ) AND ( ( ( "public"."l_cq_rue"."id_rue" = :link_from_adresse_rue ) AND ( "public"."l_cq_rue"."numero_rue_de" = :link_from_numero_rue ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 104
STATEMENT: SELECT * FROM "public"."contrat_quartier" WHERE ( 0 = 1 ) AND ( ( ( "public"."contrat_quartier"."id" = :link_from_id_cq ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 84
STATEMENT: SELECT * FROM "public"."usager" WHERE ( 0 = 1 ) AND ( ( ( "public"."usager"."id" = :link_from_id_proprietaire ) ) AND ( 0 = 1 ) )
ERROR: syntax error at or near ":" at character 84
STATEMENT: SELECT * FROM "public"."usager" WHERE ( 0 = 1 ) AND ( ( ( "public"."usager"."id" = :link_from_id_usager ) ) AND ( 0 = 1 ) )
Le formulaire fonctionne correctement, mais le chargement des données est très lent à cause, me semble-t'il, de ces erreurs.
Quelqu'un aurait une bonne idée ?
Petites précisions:
les connecteurs SDBC et JDBC donnent le même résultat
La version stable 5.2.7.2 donne le même résultat
Dernière modification par knut le 03 juil. 2017 09:16, modifié 3 fois.
Nettoyez votre PC du piratage, utilisez des logiciels libres à chaque lavage.
Une seule dose de OpenOffice suffit à éliminer durablement toute trace de MS-Office.
Un élément supplémentaire: Dans la définition du sous-formulaire (n'importe lequel, en fait), lorsqu'on définit "Analyse SQL command" à "No" dans l'onglet DATA (Données), un pop-up avec le message suivant apparait (et il n'y a pas moyen de charger correctement le formulaire):
Error code 1
The data content could not be loaded.
pq_preparedstatement: parameter index out of range (expected 1 to 0, got 1, statement 'SELECT * FROM "PUBLIC"."NOM_TABLE_SOUS_FORMULAIRE"'
Quand on remet "Analyse SQL command" à "Yes", le formulaire veut bien charger mais les messages d'erreurs sont au niveau du log de PostgreSQL
J'ai introduit un nouveau bug (https://bugs.documentfoundation.org/sho ... ?id=108105) mais celui-ci a été clôturé puisqu'il existe un moyen de contourner le problème (connecteur Java), ce qui n'est pas idéal mais diminue l'urgence.