使用MIDAS訪問遠程Access數據庫
Allen Tao(http://blog.csdn.net/allentao/)
2005-5-3
本文源碼下載
訪問遠程數據庫常用的辦法是使用大型數據庫自帶的客戶端工具,如SQL Server和Oracle等都帶有這樣的工具。帶對於Access這樣的小型數據庫,這種方法就無法使用了,因為Access不提供這樣的客戶端工具。但我們可以通過MIDAS實現訪問遠程Access數據庫。
MIDAS是Delphi提出的三層架構的解決方案。我提供的用MIDAS訪問遠程Access數據庫方法的基本思路是在服務器端建立供遠程訪問的數據模塊,而在客戶端通過MIDAS組件與其建立連接,並在客戶端發送SQL語句給服務器,服務器執行後返回數據集給客戶端。
具體做法為:
服務器端
服務器使用ADO控件訪問Access數據庫,具體是ADOConnection控件建立連接,ADOQuery執行相關操作。使用Data Access的ClientDataSet控件向客戶端返回數據集。並將以上控件放在Remote Data Module的容器中,供由客戶端進行連接。
有如下步驟:
1. 建立Application。其Form取名為FormServer,Project名為PrjServer;
2. FileàNewàOther…,在彈出的New Items對話框中選擇Multitier頁,在該頁中選擇Remote Data Module,確定;
3. 在彈出的Remote Data Module Wizard對話框中,在coclass一欄中填入AccessServer,Instancing與Threading Model保持默認,即表示不同線程之間互相獨立,確定後即生成一個RemoteDataModule的派生類AccessServer(在ViewàType Library中可以查看該類的詳細信息);
4. 在程序所在的文件夾中新建一個名為data的文件夾,在其下放入一個名為my.mdb的Access數據庫文件,其中有一個名為person的表,該表中只有兩個字段,分別為name和age,都是文本類型;
5. 遠程數據模塊AccessServer上放置各個控件,最終效果如下圖所示: