2011-07-20 40 views
3

在我們的PHP應用程序中,我們使用一些Access數據庫來與我們的桌面應用程序兼容。我們使用odbc_connect和DRIVER = Microsoft Access Driver(* .mdb); DBQ = $ filename;進行連接。這按預期工作與客戶...odbc_connect與Access數據庫似乎有連接限制

一些客戶遇到的問題,顯然是對的25個連接的連接限制的錯誤消息被拋出並沒有更多的連接是可能的,直到Apache的重新啓動。可悲的是,我還沒有得到確切的錯誤信息,但也許有人已經知道這個問題,可以啓發我。

在某些情況下,它顯然在CGI模式下運行Apache,因爲連接在腳本完成後關閉。但有些客戶甚至在CGI模式下遇到問題。

有沒有辦法增加連接數或快速關閉連接?奇怪的是,我試圖強制問題出現在我的PC上,但即使有數百個併發連接,我也沒有出現任何錯誤,並且腳本完成後連接似乎關閉,因爲.ldb文件再次消失。

+0

這無疑不是一個接入問題,因爲訪問的理論極限是255個用戶(「關係」並不真正意味着與基於文件的數據庫引擎同樣的事情,因爲它與真正的服務器數據庫引擎執行)。 –

回答

-1

使用「MAX USER_CONNECTIONS」在php.ini中的web服務器上設置最大連接數。在localhost上運行時,這個問題很少。實際上在使用PDO和MySQL時,我幾天前才討論過這個問題。它在本地主機上運行,​​但是當我將它轉移到一個虛擬主機公司時,它不起作用。我解決它通過在數據庫連接設置持久性爲TRUE(意思是連接保存在內存中,而不是把在每次調用新的連接)如果您想了解更多的相關信息:http://www.php.net/manual/en/features.persistent-connections.php

因此,我要建議您嘗試ODBC pconnecthttp://www.php.net/manual/en/function.odbc-pconnect.php

+0

'MAX USER_CONNECTIONS'?在php.ini中沒有這樣的值 – Pere