Bonjour,
Depuis un as400 source, je cherche depuis un pgm en RPG, à accéder via des instructions SQL (CONNECT , DECLARE , FETCH ) à une table d'un 2ème as400 codé en unicode.
J'ai le messagge suivant à l'exécution du programme :
SQL0332 Conversion de caractères entre CCSID 13488 et CCSID 65535 incorrecte
Le pgm a été compilé par CRTSQLRPGI, avec le nom de la BDD distante dans le paramètre RDB
Le job qui exécute le programme a un CCSID 297.
Merci de votre aide
SQL connexion bd distante. Pb de CCSID
-
- Messages : 8
- Enregistré le : jeu. 11 déc. 2008, 11:41:42
-
- Messages : 8
- Enregistré le : jeu. 11 déc. 2008, 11:41:42
CCSID du pgm
Le CCSID du pgm est 65535
-
- Site Admin
- Messages : 813
- Enregistré le : mer. 14 févr. 2007, 18:00:03
- Localisation : Nantes
- Contact :
CCSID du PGM
Après qq tests, je ne pense pas que ça soit le prb en fait.
J'ai créé une table SQL avec CCSID à 13488 sur une machine V5R40 et un PGM accédant à cette table sur une autre machine (V6R1).
je compile le pgm normalement en renseignant la RDB et ca marche bien. le CCSID du pgm est à 65535 (ce qui doit ne concerner QUE les constantes), par contre mes deux machines sont avec QCCSID à 297 !!!
bref, je n'arrive pas à reproduire (sauf à modifier QCCSID et à faire un IPL, ce qui est un peu compliqué pour un simple test)
Juste deux petites questions pour finir :
-Quelle est la version de l'OS ?
- la variable de réception (INTO :VARIABLE) est-elle déclaré en UNICODE (le type C en GAP) ?
pour infos, le pgm qui fonctionne chez moi
J'ai créé une table SQL avec CCSID à 13488 sur une machine V5R40 et un PGM accédant à cette table sur une autre machine (V6R1).
je compile le pgm normalement en renseignant la RDB et ca marche bien. le CCSID du pgm est à 65535 (ce qui doit ne concerner QUE les constantes), par contre mes deux machines sont avec QCCSID à 297 !!!
bref, je n'arrive pas à reproduire (sauf à modifier QCCSID et à faire un IPL, ce qui est un peu compliqué pour un simple test)
Juste deux petites questions pour finir :
-Quelle est la version de l'OS ?
- la variable de réception (INTO :VARIABLE) est-elle déclaré en UNICODE (le type C en GAP) ?
pour infos, le pgm qui fonctionne chez moi
Code : Tout sélectionner
************* Début des données *********************
F1 S 40C
F1short S 20C
F1local S 40A
/free
exec sql
SELECT F1 into :F1 FROM af4test/unicodeT ;
F1short = F1;
dsply f1short;
F1local = %char(F1);
dsply f1local;
*inLR=*ON;
/end-free
Christian Massé (Volubis.fr)
-
- Messages : 8
- Enregistré le : jeu. 11 déc. 2008, 11:41:42
Pb CCSID
Bonjour,
La machine source est en V5R4, la cible en V6R1
Les constantes du pgm ne sont pas déclarées en unicode, ce qui peut effectivement être la cause du problème.
Je refais des test dans ce sens
Merci
La machine source est en V5R4, la cible en V6R1
Les constantes du pgm ne sont pas déclarées en unicode, ce qui peut effectivement être la cause du problème.
Je refais des test dans ce sens
Merci