forum Ancestrologie
Ancestrologie - Plugins et Outils => BOA => Discussion démarrée par: Yves Bruant le 22 Juillet 2005 à 08:37:32
-
Bonjour,
Quelqu'un pourrait-il me dire pourquoi la requête triviale suivante
select EV_IND_DESCRIPTION from EVENEMENTS_IND
where EV_IND_DESCRIPTION like 'Officier d''état%'
fonctionne bien depuis le BOA, et pas depuis EMS Manager, non plus
qu'exécutée directement depuis le code Delphi d'ailleurs !
J'obtiens le message d'erreur
arithmetic exception, numeric overflow, or string truncation
Cannot transliterate character between character sets
C'est lié à la présence de caractères accentués, ici le é.
Mon but ultime est de mettre dans la clause where (à la place de
mon exemple 'Officier d''état') un partie du champ profession
(event 'OCCU') lu dans la base pour procéder à des regroupenents
de professions, et de l'utiliser depuis Delphi, sinon je ne vous poserais
pas la question est resterais avec le BOA...
Ca me coince un peu dans la finalisation du développement de la
version 2 de CreationWeb.
-
Ta requête marche dans IBExpert.
Une piste à tout hasard dans IBExpert le message d'erreur que tu obtiens, est lié à un conflit avec le jeu de caractères utilisé.
Je me souviens en avoir eu plein de message de ce type lors du passage à la base 3 en ISO8859-1
La solution était de passer en "Dialect 3"
-
Bonjour Yves,
Effectivement, il y a eu il y a fort longtemps un changement dans la base de données.
Je te renvoie au fil suivant pour plus d'infos sur ce que j'ai fait dans le BOA pour corriger le pb : http://www.ancestrologie.org/forum/index.php?topic=1621.0&postdays=0&postorder=asc&highlight=arithmetic&start=30
@+
Lau
-
Merci à tous les deux et bravo :D
Il manquait bien
ibd_BASE.Params.Add('lc_ctype=ISO8859_1');
dans mon composant ibd_BASE, et de toutes façons,
il y a un Params.Clear au début du code dans la Dll, au moment
de l'init du User_Name et Password, aussi j'ai ajouté la commande
d'ajout ci dessus juste après, et le croirez-vous ?
Maintenant ça marche :!: :D :D
Mais je n'ai pas trouvé où l'intégrer dans le cas de l'utilisation de
EMS Manager, mais le principal est qu'enfin, 'ça marche' à partir du code.
-
Heureux d'avoir pu t'aider.
@+
Lau