本人电脑64位的,从一台32位电脑上迁移.net程序。informix数据库版本太低,具体什么版本没看。因为ODBC驱动版本的问题,导致出现了一系列难以解决的错误,踩坑4天,记录下过程,
不定时更新配置遇到的问题,做个记录。
1、登录页面报错:
[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序]
原因:
web配置文件没有配置好驱动
名字和ODBC数据源对应起来,
2、下载了32位的ODBC(connect-281-TC1-NT的3.5版本)安装以后,报错:
在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配
原因:
IIS配置的应用程序池没有开启 启用32位应用程序
3、换成64位的ODBC驱动(clientsdk.4.10.TC9DE.WIN版本)以后,报错:
[Informix ODBC Driver]Inexact character conversion during translation.
原因:ODBC驱动不匹配
一开始百度谷歌以为是字符集不匹配,乱改一同无效。
更改ODBC database name的时候弹出:
很怪异,引起了我的注意。
4、又换成32位版本(connect-281-TC1-NT的3.5版本)以后报错:
ERROR [HY000] [Informix][Informix ODBC Driver][Informix]An illegal character has been found in the statement.
并且在更改 ODBC database name的时候 出现弹窗:
我就感觉有猫腻
搜索发现27是个分水岭,主要是字符集的问题很严重,决定寻找低版本的ODBC驱动。
5、安装informix27 ,卸载之前安装的所有版本以免冲突。
安装以后问题解决
总结:
1、informix老版本的ODBC驱动和新版本的存在字符集问题,需要和服务器informix的版本对应。
2、附带新版本的几个下载地址,供参考下载:
https://www-01.ibm.com/marketing/iwm/iwm/web/pickUrxNew.do?source=ifxdl
http://www.ciscounitytools.com/Applications/CxN/InformixODBC/InformixODBC.html
ftp://ftp.software.ibm.com/software/data/informix/downloads
3、附带几篇介绍的文章:
https://www.cnblogs.com/equation/p/5545967.html
https://note.youdao.com/ynoteshare1/index.html?id=05c8d0553dca09976a7342ffb5e77d11&type=note#/
window server2008 64位 配置ODBC数据源 所遇到的问题:
1、控制面板——管理工具——没有32位的ODBC数据源,默认的是64位的。安装的informix是32位的,所以找不到。
仍然需要配置32位ODBC数据源,这时需要运行C:\Windows\SysWOW64\odbcad32.exe来启动ODBC数据源管理器,添加32位的ODBC数据源。
2、报错:translation 错误
在环境变量 library中输入
C:\Program Files (x86)\Informix\Client-SDK\bin\igo4n304.dll
test connect即可 ,要是在弹出如下报错,就重启服务器即可。