通過Access從Web獲取MySQL數據
來源:程序員人生 發布時間:2014-02-19 12:42:44 閱讀次數:3204次
MySQL是當前最流行的網絡數據庫其中的原因包括
運行速度快
免費
能運行在Linux及其他的一些平臺
能與Apache(一種流行的網絡服務器)完美結合
能與 PHP完美結合
MySQL具有一個ODBC接口如果你操作的是網絡服務器或MySQL服務器并想把數據關聯到桌面應用程序采用ODBC接口是一個很好的方式但如果你不是對服務器操作訪問MySQL的端口很有可能無效此時只能尋求其他方法來操作你的數據
存在的問題
所提及的問題都是針對客戶機而言的出于安全起見客戶機程序一般都通過一個主機選擇網絡代表從而避免在網絡上頻繁地登錄自己的系統許多主機都能提供合適的條件和MySQL可擴展的FrontPageCGI及其他站點制作工具它們也能滿足硬件和軟件的匹配問題這一獨特的主機甚至能提供各種工具幫助你增加或刪除你的MySQL數據庫但是它只以基本的MySQL存放處格式進行這就不能夠直接地讀入Access或其他的桌面程序
客戶機程序不想在自己單位上的服務機安裝MySQL可以通過我的程序來傳遞數據只要在我的機器上運行MySQL我可以人工地通過主機存放處獲取數據這一過程包括把數據加載到數據庫并通過ODBC傳送到Access然后向客戶機發送數據庫內容我并不介意所完成的這些工作但是我們應該簡化一些不必要的工作而不要過多地依賴于人工操作
讓我再說明一下以上的過程首先主機在網頁上顯示數據存放處通過簡單的代碼和注冊我獲取了數據庫的數據注冊之原因是出于安全考慮現在我采用微軟的網頁瀏覽器ActiveX控件直接操作Access數據庫這就允許用戶很容易地通過注冊過程點擊按鈕即可獲取MySQL數據然后把數據傳遞到Access數據庫的相應表中只要數據是在Access數據庫中用戶就可以用ODBC或他們慣用的方法把數據傳遞到ERP系統或其他專用系統
Microsoft Access數據庫
Access數據庫相當簡單它是由一些數據表組成數據表列舉你要添加的數據在這一節里我采用的數據表名為Sales_Data是由一個虛擬網站上的購車數據組成同樣這一數據表應和主機上的MySQL數據表無論在名字還是結構上都要完全一樣事實上我們首先要在Access(圖A)中生成一個數據表然后通過ODBC把數據轉移到當地服務器的MySQL上
Figure A

Access應用程序打開的同時也打開了網頁控制面板窗體在我的例程中程序在我的服務器上通過了PHP注冊
Figure B

采用的ActiveX控件名為WebBrowser執行的代碼如下
Private Sub Form_Load()
WebBrowserNavigate ~stew/mysql/
End Sub
Figure C

MySQL screen shot
窗體中其他部分包括有兩個按鈕第一個按鈕(彈出控制面板)通過下面的代碼顯示MySQL的屏幕(如圖C)
Private Sub LoadControlPanel_Click()
WebBrowserNavigate ~stew/mysql/mysql_dumpphp
End Sub
第二個按鈕獲取數據這是代碼中的主要部分
接著你將會看到Access數據庫的一個下拉式列表并且這一列表中已經有數據在這一例子中列表名為Sales_Data
再者復選框會讓選擇在添加數據之前是否刪除舊的數據你可以在這里做一些有用的操作但這些操作必須是合法的
最后兩個文本接口包含了單位名稱以及MySQL數據庫名稱
總結
以上就是過程的全部用戶必須通過網絡接口來運行主機上的數據庫查詢當MySQL存放處顯示在窗體瀏覽器上(如圖D)點擊獲取數據按鈕就可以獲取數據并存放在Access數據表中程序也會檢測數據存放處是否是基于一定格式的MySQL并確保是正確的數據庫和數據表如果這些規則滿足就會執行程序中的INSERT命令把數據添加到目標數據表此時會彈出一個消息對話框以顯示這一過程如果有錯誤產生則返回到窗體Listing A包含了完整的代碼
Figure D

MySQL screen dump
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈