Bonjour,
Je travaille sur un chantier de migration unicode. Je rencontre un souci pour les requêtes avec Oracle : les requêtes utilisant des valeurs unicode ne fonctionnent tout simplement pas. Les valeurs sont remplacées par des points d'interogations à l'envers.
Le champs sous Oracle est bien en nvarchar2.
J'ai tenté de mettre le préfixe N devant la valeur : nok.
Ex : select * from service where libelle = N'會計'
J'ai tenté de passer par des paramètres : nok.
Ex : select * from service where libelle =Lib
Valeur du paramètre : 會計
J'ai tenté de typer les paramètre en ftwidestring : nok.
Compilateur : Delphi XE3
Composant utilisé : DbGo (AdoConnection et AdoQuery)
Provider : OraOLEDB.Oracle.1 (version 11.2.0.1.0)
Paramètre de la base de données :
SELECT * FROM V$NLS_PARAMETERS
NLS_LANGUAGE FRENCH
NLS_TERRITORY FRANCE
NLS_CURRENCY €
NLS_ISO_CURRENCY FRANCE
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE FRENCH
NLS_CHARACTERSET WE8MSWIN1252
NLS_SORT FRENCH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY €
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
SELECT * FROM NLS_SESSION_PARAMETERS
NLS_LANGUAGE FRENCH
NLS_TERRITORY FRANCE
NLS_CURRENCY €
NLS_ISO_CURRENCY FRANCE
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE FRENCH
NLS_SORT FRENCH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY €
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
Je ne comprends pas pourquoi cela ne marche pas... si quelqu'un a une piste, je suis preneur.
Merci d'avance,
Partager