Auteur Sujet: Dynamic SQL error SQL errorcode = -804 Function unknown SUBSTR  (Lu 7809 fois)

plus minus reset

0 Membres et 1 Invité sur ce sujet

Hors ligne REIVILOR

  • Amateur
  • **
  • Messages: 18
  • simple utilisateur
  • Programme: 2015.1996.3.2
  • Base: 5.131
  • Système: w10
Bonjour,

Depuis la mise à jour de la dernière version (enfin je crois), le SQL qui me permettait d'extraire de la base de données mes informations en fonction XLS ne fonctionne plus. J'ai le message "Dynamic SQL error SQL errorcode = -804 Function unknown SUBSTR". Or j'ai lancé de dizaine de fois cette requête qui fonctionnait avant sans aucun problème.
La version SQL utilisée a-t-elle évoluée?
Ai je eu de la chance avant pour qu'elle fonctionne ? :smile:

Version ancestrologie V800, base v5.100
Windows XP

Voici ma requête quand elle fonctionnait. Si elle re-fonctionne vous pouvez bien entendu l'inclure dans ancestrologie si vous la trouvée intéressante :
SELECT
  A.NUM_SOSA SosaH,
  A.NOM Mari,
  A.PRENOM,
  C.EV_IND_ACTE ActeN,
  C.EV_IND_DESCRIPTION Description_N,
  A.DATE_NAISSANCE Ne_le,
  C.EV_IND_VILLE Ville_N,
  SUBSTR(C.EV_IND_CP, 1, 2) AS Dept_N,
  D.EV_IND_ACTE ActeD,
  D.EV_IND_DESCRIPTION Description_D,
  A.DATE_DECES Mort_le,
  D.EV_IND_VILLE Ville_D,
  SUBSTR(D.EV_IND_CP, 1, 2) AS Dept_D,
  B.NUM_SOSA SosaF,
  B.NOM Femme,
  B.PRENOM,
  E.EV_IND_ACTE ActeN,
  E.EV_IND_DESCRIPTION Description_N,
  B.DATE_NAISSANCE Ne_le,
  E.EV_IND_VILLE Ville_N,
  SUBSTR(E.EV_IND_CP, 1, 2) AS Dept_N,
  F.EV_IND_ACTE ActeD,
  F.EV_IND_DESCRIPTION Description_D,
  B.DATE_DECES Mort_le,
  F.EV_IND_VILLE Ville_D,
  SUBSTR(F.EV_IND_CP, 1, 2) AS Dept_D,
  EVENEMENTS_FAM.EV_FAM_TYPE Mariage,
  EVENEMENTS_FAM.EV_FAM_ACTE Acte_M,
  EVENEMENTS_FAM.EV_FAM_DESCRIPTION Description_M,
  EVENEMENTS_FAM.EV_FAM_DATE_WRITEN Date_M,
  EVENEMENTS_FAM.EV_FAM_VILLE Ville_M,
  EVENEMENTS_FAM.EV_FAM_DEPT DEPT_M,
  EVENEMENTS_FAM.EV_FAM_PAYS Pays_M,
  EVENEMENTS_FAM.EV_FAM_REGION Region_M,
  C.EV_IND_COMMENT Commentaire_HN,
  D.EV_IND_COMMENT Commentaire_HD,
  E.EV_IND_COMMENT Commentaire_FN,
  F.EV_IND_COMMENT Commentaire_FD,
  EVENEMENTS_FAM.EV_FAM_COMMENT Commentaire_M
FROM
  ((INDIVIDU A
        LEFT JOIN EVENEMENTS_IND C
           ON C.EV_IND_KLE_FICHE =A.CLE_FICHE and
              C.EV_IND_TYPE = ('BIRT')
        )
        LEFT JOIN EVENEMENTS_IND D
           ON D.EV_IND_KLE_FICHE =A.CLE_FICHE and
              D.EV_IND_TYPE = ('DEAT')
        ) ,
  ((INDIVIDU B
        LEFT JOIN EVENEMENTS_IND E
           ON E.EV_IND_KLE_FICHE =B.CLE_FICHE and
              E.EV_IND_TYPE = ('BIRT')
        )
        LEFT JOIN EVENEMENTS_IND F
           ON F.EV_IND_KLE_FICHE =B.CLE_FICHE and
              F.EV_IND_TYPE = ('DEAT')
        ) ,
  EVENEMENTS_FAM,
  T_UNION
WHERE
  (EVENEMENTS_FAM.EV_FAM_KLE_FAMILLE = T_UNION.UNION_CLEF) AND
  (T_UNION.UNION_MARI = A.CLE_FICHE) AND
  (T_UNION.UNION_FEMME > 0) AND
  (T_UNION.UNION_FEMME = B.CLE_FICHE) AND
  (A.NUM_SOSA > 0) and
  (B.NUM_SOSA > 0) and
  (EVENEMENTS_FAM.EV_FAM_TYPE = 'MARR')
ORDER BY
  A.NUM_SOSA


 

Hors ligne AquaBlue

Dynamic SQL error SQL errorcode = -804 Function unknown SUBSTR
« Réponse #1 le: 13 Juillet 2008 à 09:47:30 »
Non tu n'as pas eu "de la chance" pour qu'elle fonctionne.

En fait avec la version 800 tu es passé en Firebird 2.1 et avec cette version les fonctions UDF (bibliothèque externe) ont été directement integrées dans Firebird.
La synthaxe a légèrement changé et il faut que tu remplaces SUBSTR par SUBSTRING
 

Hors ligne DDdeBerdeux

Dynamic SQL error SQL errorcode = -804 Function unknown SUBSTR
« Réponse #2 le: 13 Juillet 2008 à 17:50:52 »
La Ssyntaxe est différente: SUBSTRING(chaîne FROM index_début FOR Nbr_caract)
Si FOR Nbr_caract est omis, tous les caractères depuis index_début sont sélectionnés.

Voir les notes de mises à jour sur le site firebirdsql.org

A+
André
Une application pleinement satisfaisante est toujours complétée par une mise à jour buggée. (Loi des Mises à Jour)
 

Hors ligne REIVILOR

  • Amateur
  • **
  • Messages: 18
  • simple utilisateur
  • Programme: 2015.1996.3.2
  • Base: 5.131
  • Système: w10
Dynamic SQL error SQL errorcode = -804 Function unknown SUBSTR
« Réponse #3 le: 13 Juillet 2008 à 19:11:11 »
Merci à vous pour vos réponses.
Cela fonctionne beaucoup mieux

Olivier