带64位浏览器的32位驱动程序

问题描述:

我公司使用Mas90软件连接到只使用32位驱动程序的ODBC数据库。我正在尝试创建一个连接到这个数据库的网页来更新我们的网站。我遇到的问题是我们使用64位计算机,浏览器似乎只想连接到64位驱动程序。 下面是我们所使用的代码:带64位浏览器的32位驱动程序

<?php 
$conn = new COM("ADODB.Connection"); 
$conn->open("DSN=MasSystemDSN;UID=USER|COMPANY;PWD=PASS;Directory=\\server\MAS 90\MAS90;SERVER=NotTheServer;"); 
?> 

我得到这个错误:

(!) Fatal error: Uncaught exception 'com_exception' with message 'Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application' in C:\wamp\www\Product Integration\TestMas.php on line 4 (!) com_exception: Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC Driver Manager] The specified DSN contains an architecture mismatch between the Driver and Application in C:\wamp\www\Product Integration\TestMas.php on line 4

我知道驻留在SYSWOW64 32位ODBC驱动程序管理,而不是在System32下的64位经理。我看到很多类似的问题,其中解决方案是删除32位DSN并创建一个64位DSN。不幸的是,这不是我的选择,因为我的数据库没有可用的64位DSN驱动程序。

那么有没有办法写我的代码,以便它运行32位驱动程序?或者运行浏览器的方式,以便它可以运行32位驱动程序?任何其他想法?谢谢。

+2

浏览器的体系结构是不相关的。错误来自您的PHP安装。请注意,MAS90产品已被Sage 100 ERP所取代,其中包括使用MSSQL作为数据库的选项。您可能会发现升级和更改数据库是合适的,因为MSSQL很容易被PHP支持。 – 2014-01-09 22:54:28

+0

我知道我们没有使用最新的Sage软件,不幸的是,管理层对升级没有兴趣,因为他们刚刚购买了我们当前使用的4.40版本,并且他们花费了很多$$$$。有没有办法让PHP安装使用32位驱动程序? –

在网络上查找名为ODBC-ODBC Bridge的产品。它们允许64位应用程序与32位驱动程序进行通信,反之亦然。

根据您的MAS版本,您可能有64位驱动程序可用,但您必须安装它。看到这篇文章的好方向:https://sagecity.na.sage.com/support_communities/sage100_erp/f/sage-100-technical-and-installation-discussions/84394/excel-64-bit-query。版本2013和更高版本提供64位ODBC驱动程序。除了这个,我通常将我的.NET应用程序(或者至少是实际与MAS进行通信的组件)配置为32位应用程序。这迫使它使用32位ODBC。我知道你使用的是PHP,所以这可能不适合你。

希望有所帮助。