首页 新闻 搜索 专区 学院

在32位OS下编写的,64位OS下不能运行

0
悬赏园豆:100 [待解决问题]

编译语言:VB.NET
使用环境:WIN7 32位OS(只要是32位就可以)
数据库:SQL,调试状况:一切运行正常。

其他的都不变,,(因为4G内存限制)只把32位OS换成64位OS,调试失败。无法正常运行。
程序停止在: DBcn.Open()这里。

VS提示:System.Data.Odbc.OdbcException:“ERROR [IM002] [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

如果哪位高手真正遇到过此类问题,烦请帮我解决一下,定有酬谢。

追加:此程序为个人编译的,不用驱动程序,就是在32位下可以调试,64位下不可以调试。出现上面的错误提示。

问题补充:

程序中确实有ODBC,我在64位下运行64位ODBC,重新编译生成,还是一样的错误提示。

skyloveair的主页 skyloveair | 初学一级 | 园豆:106
提问于:2018-10-02 09:08
< >
分享
所有回答(4)
0

64位系统要装64位的提供程序。

he55 | 园豆:303 (菜鸟二级) | 2018-10-02 09:17

没有提供的程序啊,自己编译的代码。

支持(0) 反对(0) skyloveair | 园豆:106 (初学一级) | 2018-10-02 09:32
0

在VS的解决方案配置管理器中将“平台”改为AnyCpu试试,参考 https://q.cnblogs.com/q/106401/

dudu | 园豆:35920 (高人七级) | 2018-10-02 09:39

你好,原先的平台就是AnyCpu。

支持(0) 反对(0) skyloveair | 园豆:106 (初学一级) | 2018-12-24 13:14
0

DBcn.Open 这里出错。一楼的说法虽然泛泛,但也算是指了一条路。
提供的程序是指操作系统提供的,比如ODBC这一类的东西,你在32为系统上编译的,可能使用了一些默认为32为系统的
提供程序,在64位上就出错了,这是很正常的一种现象。尤其是有关ODBC, DAO等这些数据访问提供服务。
二楼的方法也是一种可能性。
我提供第三种建议,不如你安装个64位开发环境编译看看。

爱编程的大叔 | 园豆:30813 (高人七级) | 2018-10-02 12:07
0

把anycpu变更为x86,因为64位兼容32位。

skyloveair | 园豆:106 (初学一级) | 2019-01-29 16:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册