Considérons un client IBM Data Server hébreu exécutant le CCSID 62213 (chaîne
BiDi de type 5) qui souhaite accéder à une base de données hôte DB2 exécutant le
CCSID 424 (chaîne BiDi de type 4). Cependant, vous savez que les données
contenues dans la base de données hôte DB2 sont basées sur le CCSID 62245
(chaîne BiDi de 10).
Ce cas de figure engendre deux problèmes. Le premier problème est que la base de
données hôte DB2 ne connaît pas la différence entre les types de chaîne BiDi
possédant les CCSID 424 et 62245. Le second problème est que la base de données
hôte DB2 ne reconnaît pas le CCSID 62213 du client IBM Data Server. Il prend
uniquement en charge le CCSID 62209 (chaîne BiDi de type 10) basé sur la même
page de codes que le CCSID 62213.
Vous devez vérifier que les données envoyées à la base de données hôte DB2
possèdent le format de type de chaîne BiDi 6 pour commencer et informer DB2
Connect qu'il doit procéder à la transformation de la l'affichage BiDi des données
qu'il reçoit de la base de données hôte DB2. Vous utiliserez le catalogage suivant
pour la base de données hôte DB2 :
Cette instruction indique à DB2 Connect de remplacer le CCSID de la base de
données hôte DB2 424 par 62245. Ce remplacement inclut la procédure suivante :
1. DB2 Connect se connecte à la base de données hôte DB2 à l'aide du CCSID
2. DB2 Connect procède à la transformation de l'affichage BiDi des données qu'il
3. DB2 Connect rocède à la transformation de l'affichage BiDi des données qu'il
Remarque :
1. La variable d'environnement ou la valeur de registre DB2BIDI doit être définie
2. Si vous souhaitez que DB2 Connect effectue la transformation de l'affichage des
3. Dans certains cas de figure, l'utilisation d'un CCSID bidirectionnel peut
34
IBM DB2 Connect 9.7 - - Guide d'utilisation
catalog dcs database nydb1 as TELAVIV parms ",,,,,,,,BIDI=62245"
62209 (chaîne BiDi de type 10).
va envoyer à la base de données hôte DB2, du CCSID 62213 (chaîne BiDi de
type 5) vers le CCSID 62209 (chaîne BiDi de type 10).
reçoit de la base de données hôte DB2, du CCSID 62245 (chaîne BiDi de type
10) au CCSID 62213 (chaîne BiDi de type 5).
sur YES pour que le paramètre BIDI prenne effet. DB2BIDI doit être défini sur
le poste de travail DB2 Connect sur lequel l'entrée de répertoire de base de
données DCS est cataloguée. Pour les applications s'exécutant sur un client
d'un serveur DB2 Connect éloigné, la variable DB2BIDI doit également être
définie sur ce client.
données qu'il va envoyer à la base de données hôte DB2 sans remplacer son
CCSID, vous devez ajouter le paramètre BIDI dans le champs PARMS du
répertoire de base de données DCS. Dans ce cas, le CCSID que vous devez
fournir sera le CCSID par défaut de la base de données hôte DB2.
entraîner la modification de la requête SQL au point qu'elle ne soit plus
reconnue par le serveur DB2. Essayez d'éviter d'utiliser les CCSID IMPLICIT
CONTEXTUAL et IMPLICIT RIGHT-TO-LEFT lorsque vous pouvez utiliser un
autre type de chaîne. Les CCSID CONTEXTUAL peuvent donner lieu à des
résultats imprévisibles si la requête SQL contient des chaînes de caractères
délimitées. N'utilisez pas de chaînes de caractères délimitées dans les
instructions SQL. Utilisez autant que possible des variables hôte.
Si un CCSID bidirectionnel déterminé cause des problèmes qui ne peuvent être
résolus à l'aide des recommandations susmentionnées, définissez la variable
d'environnement ou la valeur de registre DB2BIDI sur NO.