Définir la variable d’environnement DB2CODEPAGE pour DB2
Vous vous connectez à une base DB2, mais l'affichage de données dans votre client n'est pas bon (caractères manquants ou illisibles) ?
Il est peut-être nécessaire de positionne la variable d’environnement DB2CODEPAGE (page de codes de base de données) sur la machine exécutant le client DB2.
Dans un premier temps, nous allons déterminer la valeur de DB2CODEPAGE en exécutant la réquete ci-dessous directement dans la base DB2 :
Notez le résultat, par exemple 1208.
Ensuite, sur la machine exécutant le client DB2, il est temps de définit notre variable d'environnement :
Sous windows, 3 clics et le tour est joué :
Sous Linux, il faut exporter la variable d'environnement via la commande export :
export DB2CODEPAGE=1208
Enfin, pour SAS, ajouter le même export dans le fichier sasenv_local du répertorie <SAHOME>/SASFoundation/9.x/bin/
Comme vous vous en doutez, ce message d'erreur s'affiche car l'encodage DB2 sur le serveur DB2 ne correspond pas au codage DB2 sur le client.
source :
http://support.sas.com/kb/55/490.html
1 |
SELECT CODEPAGE FROM SYSCAT.DATATYPES WHERE TYPENAME = 'VARCHAR' |
Problèmes connus lié à un mauvaise CODEPAGE
Lorsque vous utilisez l'interface SAS / ACCESS sur DB2 pour vous connecter à DB2, vous pouvez rencontrer ces problèmes:- Les données et certains caractères spéciaux peuvent ne pas s'afficher correctement.
- Certains caractères spéciaux peuvent être affichés comme points d'interrogation.
- Vous pourriez recevoir cet avertissement:
1 |
WARNING: During read: [IBM][CLI Driver] CLI0002W Data truncated. SQLSTATE=01004. |