在用c#生成应用程序的时候,读写dbf时,open方法出错
ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
以前这个程序是用着好好的,本次升级修改后测试发现这个问题,追根求源,原来本人是32位操作系统,现在装了win7 64位的操作系统,从控制面板-管理工具-ODBC驱动,打开后发现自己安装的Microsoft Visual FoxPro Driver没有在列表中
于是苦逼的程序猿就开始上网查资料,追找问题,不找到问题睡不着觉啊,呵呵
解释如下:
win7 64位操作系统有两个ODBC数据源(一个在system32下odbcad32.exe(控制面板-管理工具里的是这个),一个在SysWOW64下odbcad32.exe)
当我们用vs编译程序时,默认的生成目标平台是anyCPU,如下图(右键项目属性里),这样程序运行时不知道应该使用哪个ODBC驱动,换成X86即可,于是就有了前面的提示
下面解释下为什么要选择X86
在win764位操作系统中运行程序,默认是在system32里去找驱动,因为64位操作系统要跟过去的32位系统兼容,当运行32位的程序时,系统会到SysWOW64下面去找,所以就解决了ODBC的驱动问题,前提是电脑已经装过驱动了哦
ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序,布布扣,bubuko.com