关于64bit位系统ODBC找不到的问题
2011-01-08 15:00
169 查看
近段时间在把32位系统下编译的程序移植到Windows Server 2003 64bit 系统上时,突然发现找不到ODBC驱动,经过一番研究发现是由于64bit系统中32位的ODBC是在系统的syswow64 目录下面,且写入注册表是的节点为Wow6432Node 当运行32位的程序时是不可能找到32的ODBC驱动的,如果开发程序, 建议编译成为X86形式的, 这样就可以在64位系统正常使用ODBC,如果要通过程序创建ODBC数据源,还要将写入注册表的节点改为Wow6432Node,这样就可以在64bit 位系统中正常使用ODBC数据源了。
在VS工具中设置编译为X86:
通过程序创建ODBC数据源:
在VS工具中设置编译为X86:
通过程序创建ODBC数据源:
RegistryKey regKey = Registry.LocalMachine.OpenSubKey("SOFTWARE").OpenSubKey("Wow6432Node").OpenSubKey("ODBC").OpenSubKey("ODBC.INI", true).CreateSubKey(dsn); string driverPath = GetDriverDllPath(); if (string.IsNullOrEmpty(driverPath)) { return false; } string tcpIP = string.Format("host={0};port={1}", serverIP, port); regKey.SetValue("AutoStop", "YES"); regKey.SetValue("Driver", driverPath); regKey.SetValue("CommLinks", "TCPIP{" + tcpIP + "}"); regKey.SetValue("Debug", "No"); regKey.SetValue("Compress", "No"); regKey.SetValue("DisableMultiRowFetch", "No"); regKey.SetValue("Description", description);
相关文章推荐
- 64位ubuntu系统关于交叉编译器找不到路径问题
- 关于64位系统上运行32位IIS,而不能调用的ODBC获取数据的问题。
- 纯属巧合,解决了一个困扰许久的问题,关于网卡设置时提示“系统找不到指定文件”。
- 一个关于webservice的Axis问题 Processing file deploy.wsdd Exception: deploy.wsdd (系统找不到指定的文件。)
- 关于WIN10下安装UBUNTU的问题-找不到ubuntu系统
- 关于CreateFile创建句柄,出现系统找不到指定文件的问题
- 关于运行Drupal 7的Nginx+PHP系统设置的一些问题解决方案总结
- 关于MOSS创建SSP时出现找不到 Windows NT 用戶或組 "'域\administrator"问题的解决方法
- 关于windows下QT5.X编译mysql后找不到生成文件的问题
- 关于ssh连接速度慢及系统启动停在starting sendmail和starting sm-client的问题
- 关于系统安装一些需要注意的问题
- 关于Linux(ubantu12.04)下编译错误mysql.h找不到的问题
- Qt新手问题汇总 1: Moc'ing xxx.h 系统找不到指定的路径。
- 关于windows日志时间与系统时间相差8小时的问题
- 关于停车计费系统的几个问题
- no installed service named "Apache2" 安装Apache问题:系统找不到指定的文件 No installed service named "Apache2"
- win7 64位下如何安装配置mysql + 系统找不到指定的文件问题
- 关于酒店管理系统的使用问题
- 84条关于操作ecshop电子商务系统的小问题
- 杂感-关于登录系统中用户不能重复登录的问题