我从VB中调用Oracel DB采用三层式架构,现在遇到一个问题:我利用中间层的DLL得回的RecordSet包含乱码,请给位高手帮忙解决。
附1:我的Server与Middle中语言设定均为ZHT16BIG5
我在Middle端试过将注册表中的NLS_LANG改为CHINESE_CHINA.ZHT16BIG5
和AMERICAN_AMERICA.ZHT16BIG5,都会出现乱码
附2:中间层中DLL访问DB的连接代码如下:
Conn= "Provider=OraOLEDB.Oracle;Data Source=DataSource;
User ID=UserID;Password=Password;DistribTX=0;"
附3:如果我改用ODBC的方法连接,则RecordRet中不会出现乱码。连接代码如下:
Conn= "DSN=DSNName;UID=UserName;PWD=Password;"
附4: 由于我需要执行以下代码,如果采用ODBC方法连接,则无法设定"PLSQLRSet"
Set objAdoCmd = New ADODB.Command
With objAdoCmd
……
.Properties("PLSQLRSet") = True
End With请各位高手指点
附1:我的Server与Middle中语言设定均为ZHT16BIG5
我在Middle端试过将注册表中的NLS_LANG改为CHINESE_CHINA.ZHT16BIG5
和AMERICAN_AMERICA.ZHT16BIG5,都会出现乱码
附2:中间层中DLL访问DB的连接代码如下:
Conn= "Provider=OraOLEDB.Oracle;Data Source=DataSource;
User ID=UserID;Password=Password;DistribTX=0;"
附3:如果我改用ODBC的方法连接,则RecordRet中不会出现乱码。连接代码如下:
Conn= "DSN=DSNName;UID=UserName;PWD=Password;"
附4: 由于我需要执行以下代码,如果采用ODBC方法连接,则无法设定"PLSQLRSet"
Set objAdoCmd = New ADODB.Command
With objAdoCmd
……
.Properties("PLSQLRSet") = True
End With请各位高手指点
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货