本文介紹了在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數據源。
新聞熱點
疑難解答