本文介紹了在VB中存取遠端資料庫的方法與步驟。
遠端資料物件(RDO)是VB 5.0中基於ODBC API的物件模型,它短小、快速、強健,可以存取任何32位元ODBC資料來源,如SQL Server和Oracle資料庫,是存取遠端資料庫的更新更進階的工具。
使用RDO的一般方法如下。
(1)先宣告變數:Public con As rdoConnection, res As rdoResultset
(2)然後初始化rdoEngine,設定使用者和口令等預設參數;
With rdoEngine
.rdoDefaultUser = sa '使用者為sa
.rdoDefaultPassword = pass '口令為pass
.rdoDefaultCursorDriver = rdUseServer
.rdoDefaultLoginTimeout = 15
End With
(3)再連線到要存取的遠端資料庫(可使用DSN Connection和DSN-Less Connection)。
使用DSNC onnection舉例(連接伺服器SERVER上的資料庫hotel):
Set con = rdoEnvironments(0)
.OpenConnection (hotel, rdDriverNoPrompt, False)
使用DSN-Less Connection 舉例(連接伺服器SERVER上的資料庫hotel):
Set con = rdoEnvironments(0)
.OpenConnection (, rdDriverNoPrompt, False, driver={SQL Server}; server= _ SERVER; database=hotel)
建立連線後,既可使用OpenResultset方法執行查詢並處理結果集,又可使用Execute方法執行包含資料定義和資料操作在內的動作查詢。 例如:
Set res = con.OpenResultset (SELECT * FROM menu, rdOpenStatic)
con.Execute CREATE VIEW menu_view AS SELECT代碼,菜名FROM menu,rdExecDirect
RDO最強大和最重要的特性之一是:它可以查詢和處理由預存程序傳回的結果,無論它有多複雜。
除RDO外,還可使用RDC存取遠端資料庫。
遠端資料控制項(RDC)與資料控制項(DC)類似,不同之處是RDC使用RDO連接到ODBC驅動程式管理器,而DC則使用DAO連接到Jet資料庫引擎。利用RDO和RDC,無需使用Jet引擎即可存取ODBC資料來源。這樣,在存取遠端資料庫時,可以獲得更好的效能和更大的靈活性。
遠端資料控制MSRDC使用舉例如下。
Connect: driver={SQL Server}; server=SERVER; database=hotel
DataSourceName:
SQL: SELECT * FROM menu
UserName: sa
Password: pass
CursorDriver: 3-rdUseClient
可以使用RDC執行許多簡單的遠端資料存取操作,不需寫任何程式碼,只要填寫相關項目就可以了,使用起來很方便。但應注意,除非在設計時禁止並只在需要時啟動RDC,否則它將至少消耗一個遠端資料庫連線。在遠端資料庫連線資源有限或要求很有效率的情況下,宜慎用、少用RDC。這種情況下,應盡可能考慮使用RDO,並使用預存程序(預先編譯好的SQL語句)。
最後也要注意,只有32位元作業系統(如Windows NT或Windows 95),才能支援RDO和RDC。 RDO 和RDC也只能用於存取32位元ODBC資料來源。