本文介紹了在VB中訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)的方法與步驟。
遠(yuǎn)程數(shù)據(jù)對(duì)象(RDO)是VB 5.0中基于ODBC API的對(duì)象模型,它短小、快捷、強(qiáng)健,可以訪問(wèn)任何32位ODBC數(shù)據(jù)源,如SQL Server和Oracle數(shù)據(jù)庫(kù),是訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)的更新更高級(jí)的工具。
使用RDO的一般方法如下。
(1)先聲明變量:Public con As rdoConnection, res As rdoResultset
(2)然后初始化rdoEngine,設(shè)置用戶和口令等缺省參數(shù);
With rdoEngine
.rdoDefaultUser = "sa" '用戶為 sa
.rdoDefaultPassword = "pass" '口令為 pass
.rdoDefaultCursorDriver = rdUseServer
.rdoDefaultLoginTimeout = 15
End With
(3)再連接到要訪問(wèn)的遠(yuǎn)程數(shù)據(jù)庫(kù)(可使用DSN Connection和DSN-Less Connection)。
使用DSNC onnection舉例(連接服務(wù)器SERVER上的數(shù)據(jù)庫(kù)hotel):
Set con = rdoEnvironments(0)
.OpenConnection ("hotel", rdDriverNoPrompt, False)
使用DSN-Less Connection 舉例(連接服務(wù)器SERVER上的數(shù)據(jù)庫(kù)hotel):
Set con = rdoEnvironments(0)
.OpenConnection ("", rdDriverNoPrompt, False, "driver={SQL Server}; server= _ SERVER; database=hotel")
建立連接后,既可使用OpenResultset方法執(zhí)行查詢并處理結(jié)果集,又可使用Execute方法執(zhí)行包括數(shù)據(jù)定義和數(shù)據(jù)操作在內(nèi)的動(dòng)作查詢。 例 如:
Set res = con.OpenResultset ("SELECT * FROM menu", rdOpenStatic)
con.Execute "CREATE VIEW menu_view AS SELECT代碼,菜名FROM menu",rdExecDirect
RDO最強(qiáng)大和最重要的特性之一是:它可以查詢和處理由存儲(chǔ)過(guò)程返回的結(jié)果,無(wú)論它有多么復(fù)雜。
除RDO外,還可使用RDC訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)。
遠(yuǎn)程數(shù)據(jù)控件(RDC)與數(shù)據(jù)控件(DC)類(lèi)似,不同之處是RDC使用RDO連接到ODBC驅(qū)動(dòng)程序管理器,而DC則使用DAO連接到Jet數(shù)據(jù)庫(kù)引擎。利用RDO和RDC,無(wú)需使用Jet引擎就可以訪問(wèn)ODBC數(shù)據(jù)源。這樣,在訪問(wèn)遠(yuǎn)程數(shù)據(jù)庫(kù)時(shí),可以獲得更好的性能和更大的靈活性。
遠(yuǎn)程數(shù)據(jù)控件MSRDC使用舉例如下。
Connect: driver={SQL Server}; server=SERVER; database=hotel
DataSourceName:
SQL: SELECT * FROM menu
UserName: sa
Password: pass
CursorDriver: 3-rdUseClient
可以使用RDC執(zhí)行許多簡(jiǎn)單的遠(yuǎn)程數(shù)據(jù)訪問(wèn)操作,不需編寫(xiě)任何代碼,只要填寫(xiě)有關(guān)項(xiàng)就可以了,使用起來(lái)很方便。但應(yīng)注意,除非在設(shè)計(jì)時(shí)禁止并只在需要時(shí)啟動(dòng)RDC,否則它至少將消耗一個(gè)遠(yuǎn)程數(shù)據(jù)庫(kù)連接。在遠(yuǎn)程數(shù)據(jù)庫(kù)連接資源有限或要求很高效的情況下,宜慎用、少用RDC。這種情況下,應(yīng)盡可能考慮使用RDO,并使用存儲(chǔ)過(guò)程(預(yù)編譯好的SQL語(yǔ)句)。
最后還應(yīng)注意,只有32位操作系統(tǒng)(如Windows NT或Windows 95),才能支持RDO和RDC。RDO 和RDC也只能用于訪問(wèn)32位ODBC數(shù)據(jù)源。
新聞熱點(diǎn)
疑難解答