您的位置:首页 > 其它

关于64位系统上运行32位IIS,而不能调用的ODBC获取数据的问题。

2016-06-15 23:57 585 查看
最近被公司分配去做系统升级,几十个系统要从windows server 2003(32-bit)升级到window server 2012 r2(64-bit).

刚开始升级了2个.asp的 系统,连接的ODBC都没问题(都是连接本机的ORACLE)。

现在有一个系统要远程搜数据(ORACLE),经处理后导入本机sql server。

就发现一个问题,ODBC配置成功后测试连接成功,但是到系统运行用ODBC连接去取数据的时候就报错!

把系统安装在32位的电脑上就木有问题!经过一番排除肯定就是ODBC的问题。

还有就是在管理工具下有显示2个ODBC程序一个是32位在C:\Windows\SysWOW64\ 路劲下,一个是64位载C:\Windows\System32\路径下。

因为当时想系统是window server 2012 r2(64-bit).的 那肯定是用64的ODBC,结果出现现在的问题后,再想再32的ODBC中添加DSN,提示要装客户端。

经过两天的奋斗,终于找出问题在哪里了。

问题就在于32位的程序不能通过64位的ODBC驱动去连接。

解决方法。

首先我们要在32位驱动(C:\Windows\SysWOW64\ 路劲下)中添加好DSN。

如果添加Microsoft ODBC for Oacle  报错,那是因为没有安装Oracle 7或以上 的 Oracle 客户端。

安装完客户端后还有一些小问题,请看转载连接里面的设置,http://blog.csdn.net/xiaoyu714543065/article/details/50700538

设置好后正常的话就可以正常使用32位的ODBC了。

第二步:要把IIS应用池中的Enable 32-bit Application 改为Ture 默认是 False.(在Set Appication Poll Default)

第三部:在IIS中选中你的网页,在.ASP中把Enable Parent Paths 也改为Ture。

在运行就OK啦!



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: