2014-01-09 142 views
2

我公司使用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位驅動程序? –

回答

0

在網絡上查找名爲ODBC-ODBC Bridge的產品。它們允許64位應用程序與32位驅動程序進行通信,反之亦然。

0

根據您的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,所以這可能不適合你。

希望有所幫助。

相關問題