VB.NET連接遠(yuǎn)程數(shù)據(jù)庫技巧分享
VB.NET開發(fā)語言功能比較強(qiáng)大,其中特有的各種性質(zhì)能幫助大家輕松實(shí)現(xiàn)功能,提高編程效率。在這里我們就為大家介紹一下VB.NET連接遠(yuǎn)程數(shù)據(jù)庫的相關(guān)操作,希望能給大家?guī)硪恍椭?t#
在VB中,用數(shù)據(jù)庫引擎和數(shù)據(jù)訪問對(duì)象DAO可以創(chuàng)建功能強(qiáng)大的客戶/服務(wù)器應(yīng)用程序。對(duì)遠(yuǎn)程數(shù)據(jù)庫的訪問是開發(fā)這類應(yīng)用程序的關(guān)鍵,本文將介紹在VB中用DAO通過數(shù)據(jù)庫引擎訪問遠(yuǎn)程數(shù)據(jù)庫的方法。
用DAO訪問遠(yuǎn)程數(shù)據(jù)庫可以通過三步來實(shí)現(xiàn),即數(shù)據(jù)連接、數(shù)據(jù)處理和斷開連接。下面主要介紹數(shù)據(jù)連接和數(shù)據(jù)處理的具體操作。
DAO通過鏈接遠(yuǎn)程表的方式來進(jìn)行數(shù)據(jù)連接。這樣,數(shù)據(jù)雖然駐留在遠(yuǎn)程數(shù)據(jù)源上,但在本地的數(shù)據(jù)庫中可以存儲(chǔ)與遠(yuǎn)程數(shù)據(jù)的永久性連接,同時(shí)緩存鏈接的表結(jié)構(gòu)信息,從而在下一次訪問該表時(shí), 不用再次從服務(wù)器中檢索這些結(jié)構(gòu)信息,加快了連接速度。一旦鏈接了一個(gè)表,該鏈接便會(huì)保留在各會(huì)話期間,直到連接斷開。鏈接遠(yuǎn)程表的具體操作是:
用 OpenDatabase 方法打開將要包含該鏈接的本地?cái)?shù)據(jù)庫,用 CreateTableDef 方法在該數(shù)據(jù)庫中創(chuàng)建一個(gè)新的TableDef對(duì)象,將 TableDef 對(duì)象的 Connect 屬性設(shè)置為一個(gè)合法的連接字符串,標(biāo)識(shí)要訪問的遠(yuǎn)程數(shù)據(jù)庫類型、數(shù)據(jù)文件的路徑以及用戶名和遠(yuǎn)程數(shù)據(jù)源密碼等。將 TableDef 對(duì)象的 SourceTableName 屬性設(shè)置為遠(yuǎn)程數(shù)據(jù)庫中要訪問的表的名稱。 添加 TableDef 對(duì)象到 TableDefs 集合中。
實(shí)現(xiàn)VB.NET連接遠(yuǎn)程數(shù)據(jù)庫的代碼如下:
- Public Sub LinkTable(strDB As
String, strRoDB As String, _- strCn As String, strTdf As
String, linkTdfName As String)- Dim linkTdf As New TableDef
- Set dbs = OpenDatabase(strDB)
- linkTdf.Name = linkTdfName 100
- tempTable = UCase(linkTdf.Name)
- For i = 0 To dbs.TableDefs.Count - 1
- If UCase(dbs.TableDefs(i).Name)
= tempTable Then- If MsgBox(linkTdfName +
" 已存在,是否刪除 ?", _- VBQuestion + VBYesNo) = VBYes Then
- dbs.TableDefs.Delete linkTdf.Name
- Exit For
- Else: MsgBox "重新輸入新表名"
- linkTdfName = InputBox(" 新表名")
- GoTo 100
- End If
- End If
- Next i
- Set linkTdf = dbs.CreateTableDef(linkTdfName)
''鏈接遠(yuǎn)程表 linkTdf.Connect = ";database=" + strCn- linkTdf.SourceTableName = strTdf
- dbs.TableDefs.Append linkTdf
- End Sub
VB.NET連接遠(yuǎn)程數(shù)據(jù)庫的相關(guān)操作方法就為大家介紹到這里。