Arabic Charset Convertion Error Using DG4ODBC
769999Apr 29 2010 — edited Jun 6 2010I'm facing a serious Problem using oracle 11g DG4ODBC .
the problem is as follows :
i'm using dg4odbc to make a dblink between oracle db and MS SQL server db .
every thing is OK , i can select , update and insert into MS SQL server without any errors giving that it is English characters .
the problem is when i try to insert Arabic characters into MS SQL server table .
it is stored as ?????? .
i tried every thing to make a proper conversion of charsets .
methods i used are :
convert() function and HS_LANGUAGE parameter .
but with no use .
does any one have a clue to solve this problem ????
Information about my test environment :
Oracle Server :
=========
Oracle DB Version : 11.1.0.6.0
OS : Microsoft Windows 2003 Enterprise Edition - Service pack 2
Windows Code Page : 1256
Oracle NLS settings :
PARAMETER VALUE
======== ======
NLS_LANGUAGE : AMERICAN
NLS_TERRITORY : AMERICA
NLS_CURRENCY : $
NLS_ISO_CURRENCY : AMERICA
NLS_NUMERIC_CHARACTERS : .,
NLS_CHARACTERSET : AL32UTF8
NLS_CALENDAR : GREGORIAN
NLS_DATE_FORMAT : DD-MON-RR
NLS_DATE_LANGUAGE : AMERICAN
NLS_SORT : BINARY
NLS_TIME_FORMAT : HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT : DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT : HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT : DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY : $
NLS_COMP : BINARY
NLS_LENGTH_SEMANTICS : BYTE
NLS_NCHAR_CONV_EXCP : FALSE
NLS_NCHAR_CHARACTERSET : AL16UTF16
NLS_RDBMS_VERSION : 11.1.0.6.0
MS SQL Server :
==========
SQL Server Version : 2000 SP4 - Standard Edition
OS : Microsoft Windows 2003 Enterprise Edition - Service pack 1
Windows Code Page : 1252
Database charset : SQL_Latin1_General_CP1_CI_AS
afftected columns charset and types :
[AName] [nchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS
[ANameAR] [char] (50) COLLATE Arabic_CI_AS
urgently need a solution for this issue
thank you in advance .
Edited by: user9152093 on May 3, 2010 2:14 AM