2011-07-26 13 views
1

在工作中,我一直負責使用連接到MS-Access數據庫的php構建在線表單。在你們開始提到在線使用Access的缺點之前,這個解決方案適用於INTRAnet站點,並且流量很小,而且這個數據庫不是由我創建的,我沒有選擇切換到另一個不那麼令人討厭的數據庫選項。如何獲取靜態MS-Access數據庫聯機並使用PHP連接到它?

躍躍欲試的MS-Access數據庫(.ACCDB)在線移動

根據我的研究有用於實際使用PHP連接到MS-Access數據庫很少體面的選擇,我一直沒能找到關於如何獲得這個數據庫的好文檔,該數據庫目前只是作爲一個.accdb文件駐留在一個共享驅動器中,放到一個地方和一個表單中,我可以嘗試連接到它的混亂工作。目前我甚至不確定它是否受密碼/用戶名保護。我真的不知道如何使用MS-Access,所以你可以給我的任何提示都會很棒。如果只是將.accdb轉換爲.mdb(我在研究中使用過的文件擴展名),然後將其放入根目錄,那麼它就很好。目前爲止我唯一能找到的文檔是「不要使用Access」。

連接到新的在線MS-Access數據庫和PHP(W/O安裝在服務器上的任何東西)

現在我需要使用PHP連接到這個數據庫。我發現有幾個選項可以做到這一點,但是我無法真正訪問服務器(除了我們網站的根目錄)以安裝庫/數據源(如ODBC)會抑制其中的一些。如果我的邏輯錯了,我可以通過在網站目錄中進行更改來運行該選項,那麼太棒了!讓我知道。此外,我還找到一個人將recodmending adodb.inc.php作爲選項的一個實例,但有關(http://phplens.com/lens/adodb/docs-adodb.htm#coding)上的文檔不太清楚如何連接或者特別是我可以如何與它互動。

對不起,我知道這是很多東西,但任何幫助的讚賞和詳盡清楚,因爲你可以使它將是驚人的,因爲我現在有我的盤子上的其他項目,而不是一噸的時間致力於R & D超出我已經花費的。謝謝!

+0

Accdb是2007年以來的訪問數據庫格式,在此之前它是mdb。 – Jacob

+1

我不認爲有沒有在ODBC中進行設置就無法訪問它。 – prodigitalson

+0

沒有機會保留他們用於構建此文件的任何Access前端,但是使用SQL Server Express作爲後端? – JeffO

回答

1

我很可能錯了,但根據我的經驗,將PHP連接到Access數據庫的唯一方法是使用ODBC驅動程序。我不認爲有直接建立連接的方法。

+0

那就是我所擔心的。你知道是否可以在我們自己的站點目錄中設置ODBC的東西嗎?正如我上面所說,我沒有訪問整個服務器。 – Spags

+0

最有可能不是。我甚至不知道如果這可以在UNIX系統上完成,如果這就是你正在處理的。我只在Windows機器上建立過連接,這需要訪問控制面板的數據源組件。 –

+0

啊,對不起。它是一個IBM HTTP Server(IHS)。我不知道它運行的是什麼平臺,但是它們可以在許多平臺上運行(AIX,HP-UX,Linux,Solaris,Windows和z/OS),我們的IT部門並不是我稱之爲有用的平臺。 – Spags

0

這完全是我的專業領域之外,因爲我一個Access開發人員,從來沒有在你的,但這裏的環境中訪問數據文件的工作就是我認爲:

鑑於Jet/ACE(MDB/ACCDB文件的數據庫引擎)是基於文件的數據庫引擎,需要SMB網絡訪問該文件。 HTTP訪問是不可能的。

最簡單的做法是將文件放在HTTP服務器可以訪問的Windows文件服務器上,然後通過ODBC訪問它(對於Jet/ACE是基於文件的,並且不需要運行任何組件在文件所在的文件服務器上)。

只要相關的ODBC驅動程序安裝在HTTP服務器上,您應該可以。另外一件事:如果您可以使用Access 2007/2010將ACCDB另存爲MDB文件,那麼您將擁有更多的靈活性,因爲大多數ODBC文檔都是針對Jet 4的,而不是針對ACE(新的數據庫引擎與新的文件格式一起引入A2007;它仍然是Jet,只是一個新版本)。

0

Copnsider使用OpenLink Software'sMulti-tier ODBC to ODBC Bridge

本產品具有客戶機/服務器體系結構是這樣 -

Web服務器 - PHP應用程序 OpenLink的通用ODBC驅動程序(多層客戶端組件)

Windows主機 - 32位OpenLink代理(多層服務器組件) 32位OpenLink代理程序用於ODBC數據源(多層服務器組件) Microsoft Access .mdb文件+已配置訪問ODBC數據源(DSN)

+0

您是否與OpenLink的製造商有聯繫?事實上,在SO上超過一半的帖子推薦它看起來很可疑... –

+0

是的 - 我爲OpenLink Software工作 - 誰是商業上可用的ODBC/JDBC/.Net驅動程序/提供程序等的作家......沒有不良意圖意味着我的職位。我只是簡單地提出我們的產品作爲經常被誤解的情況下的解決方案...... –

+1

當你明確提到你的關聯時,我認爲你提高了你的迴應的可信度。當你不這樣做時,會留下一個提問... –