簡體   English   中英

MDB2與SQL Express 2008

[英]MDB2 With SQL Express 2008

所以基本上這是我的問題。 我正在尋找一種解決方案,以允許我們連接SQL Express 2008,同時仍將MDB2用作我們的數據庫抽象層。 我需要這樣的東西,主要是因為我們仍然需要能夠使用MySQL和Postgres(此時,ORM似乎不是一個選擇)。

最好有一個對PHP5.2和PHP5.3都適用的解決方案。

起初,我走了php_mysql擴展之路……不過,似乎在PHP 5.3中不可用。

php_pdo_mssql似乎不適用於MDB2,因此似乎已經淘汰了。

最后,有一個由MS開發的“ SQLSRV”擴展,盡管似乎在某個時候針對它進行了MDB2“擴展”的工作,但它似乎從未進入主分支。

拜托...有人對我有解決方案嗎?

到目前為止,對於任何需要此信息的人來說,我都可以使用在PHP 5.2下運行的MDB2與SQL Express 2008協同工作。

我尚未嘗試連接到遠程服務器:到目前為止,我僅連接到在本地主機上運行的SQL Express。

我不確定我使用的PHP是否帶有php_mssql.dll擴展名:無論哪種方式,我都將其禁用。 相反,我使用了從http://docs.moodle.org/en/Installing_MSSQL_for_PHP上的鏈接下載的php_dblib.dll。 該庫是FreeTDS的構建(來自freetds.org)。 我尚未對其進行任何重大測試,但是可以連接到它,並且一位同事告訴我,他們在此方面取得了“實際”成功。

php_dblib.dll為php_mssql.dll提供的mssql_ *函數提供了“替換”功能。 因此,您需要先禁用php_mssql.dll擴展名,然后再啟用php_dblib.dll。

其他注意事項:

1)盡管有關SQL Express和PHP的大多數文檔都指出您必須在數據庫連接信息的主機部分中包含“實例”名稱,但我發現這對我不起作用:實際上,我必須明確刪除“ \\ SQLEXPRESS”。

2)雖然上面的Moodle鏈接提供了php_dblib.dll的PHP 5.3構建,但不幸的是它們是使用VC9構建的。 我已經使用VC6構建了PHP 5.3的安裝,因此我仍在為PHP 5.3構建自己的php_dblib.dll。

無論如何,我希望這對遇到同樣問題的人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM