Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103244413
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: DB2/Informix

2008-03-30 10:40:46

 

VB通过ODBC连接Informix数据库中文问题的解决方法

VB程序通过ADODB对象通过ODBC连接informix数据库,返回的数据倒是正常没有乱码,但是sql语句里面不能带中文,例如select * from user_info where user_name=’测试用户,否则运行时会报“溢出”的错误。试了很久,最后采用如下方式解决问题:

先把数据库drop掉(drop之前可以用dbexport导出备份,以便后面重建);然后在服务端用户的.profile文件中加上:

export DB_LOCALE=zh_CN.gb

export CLIENT_LOCALE=zh_CN.gb

export SERVER_LOCALE=zh_CN.gb

重启informix重建数据库可以用dbimport将之前dbexport导出的数据库直接导进去);

VB程序中的数据库连接串改为

Const Cst_ConnectionString = "Driver={IBM INFORMIX ODBC DRIVER};Server=online;Database=databasename;Uid=xxxxx;Pwd=xxxxx;DB_LOCALE=zh_CN.57357;CLIENT_LOCALE=zh_CN.57357;"

试过seleceinsertupdatedelete语句,都可以支持中文了。

我这边的环境是:

服务端:SCO UNIX 5.05,INFORMIX online 7.31 UC5 ;

客户端:WINDOWS XP Professional,VB6.0中文版,informix SDK3.0TC1
阅读(938) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~