由于你用的是access數(shù)據(jù)庫(kù),access數(shù)據(jù)庫(kù)是本地?cái)?shù)據(jù)庫(kù),不支持網(wǎng)絡(luò)使用.建議你改用sql server或者其它支持網(wǎng)絡(luò)應(yīng)用的數(shù)據(jù)庫(kù).
成都創(chuàng)新互聯(lián)專(zhuān)注于和田企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),成都商城網(wǎng)站開(kāi)發(fā)。和田網(wǎng)站建設(shè)公司,為和田等地區(qū)提供建站服務(wù)。全流程按需求定制設(shè)計(jì),專(zhuān)業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專(zhuān)業(yè)和態(tài)度為您提供的服務(wù)
如果你要在另一臺(tái)機(jī)器上使用access數(shù)據(jù)庫(kù),一是你把數(shù)據(jù)庫(kù)拷貝到另一臺(tái)機(jī)器上,但這樣是兩個(gè)數(shù)據(jù)庫(kù)是相互獨(dú)立的,數(shù)據(jù)不能共享.另一種方法是開(kāi)一個(gè)有權(quán)限的網(wǎng)絡(luò)共享,遠(yuǎn)程計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)共享的方法訪(fǎng)問(wèn)你所使用的access數(shù)據(jù)庫(kù),兩種方法只要用odbc連接成功,連接字符串和上面使用的是一樣的寫(xiě)法
極其簡(jiǎn)單……
Public?ConnStr?As?String?=?"Dsn=WFReport;uid=cac_reader;pwd=cac_reader"
Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
Dim?ds?As?New?DataSet
Dim?conn?As?OdbcConnection
Dim?da?As?OdbcDataAdapter
conn?=?New?OdbcConnection
conn.ConnectionString?=?ConnStr
conn.Open()
Dim?strsql?As?String?=?"SELECT?*?from?A"
da?=?New?OdbcDataAdapter(strsql,?conn)
Dim?strDSPaking?As?String?=?"DSPaking"
da.Fill(ds,?strDSPaking)
End?Sub
1、 用The SQL Server .NET Data Provider連接數(shù)據(jù)庫(kù)
The SQL Server .NET Data Provider是利用SqlConnection類(lèi)來(lái)連接SQL Server7.0或更高版本的數(shù)據(jù)庫(kù),
SqlConnection類(lèi)位于名稱(chēng)空間System.Data.SqlClient下。
連接代碼:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服務(wù)器名;initial catalog=數(shù)據(jù)庫(kù)名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open ‘打開(kāi)數(shù)據(jù)庫(kù)
sqlConnection1.close ‘關(guān)閉連接,釋放資源
2、 用The OLE DB .NET Data Provider連接數(shù)據(jù)庫(kù)
上面已經(jīng)說(shuō)過(guò),利用The OLE DB .NET Data Provider可以訪(fǎng)問(wèn)Access、Oracle和SQL Server等種數(shù)據(jù)
庫(kù),那么,它是怎樣訪(fǎng)問(wèn)這些數(shù)據(jù)庫(kù)的呢?The OLE DB .NET Data Provider是通過(guò)位于名稱(chēng)空間Sy
stem.Data.OleDb類(lèi)庫(kù)下的OleDbConnection類(lèi)來(lái)連接這三種不同類(lèi)型的數(shù)據(jù)庫(kù)的。下面舉例說(shuō)明:
1)連接SQL Server數(shù)據(jù)庫(kù)
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”P(pán)rovider=SQLOLEDB;Persist Security Info=False;Data Source=服務(wù)器名;Initial Catalog=數(shù)據(jù)庫(kù)名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)連接Access數(shù)據(jù)庫(kù)
假設(shè)要連接的Access數(shù)據(jù)庫(kù)名為“Example.mdb”,存放在d:\Data\目錄下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”P(pán)rovider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)連接Oracle數(shù)據(jù)庫(kù)
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”P(pán)rovider=MSDAORA;Data Source=服務(wù)器名;User ID=用戶(hù)ID;Password=密碼;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、 用The ODBC .NET Data Provider連接數(shù)據(jù)庫(kù)
The ODBC .NET Data Provider連接數(shù)據(jù)庫(kù)是通過(guò)OdbcConnection類(lèi)來(lái)實(shí)現(xiàn)的,這個(gè)類(lèi)位于名稱(chēng)空間
Microsoft.Data.Odbc下,而名稱(chēng)空間Microsoft.Data.Odbc是封裝在Microsoft.Data.Odbc.dll文件下的。
由于篇幅有限,這里就只介紹連接Sql Server和Oracle數(shù)據(jù)庫(kù)的方法,其他數(shù)據(jù)庫(kù)的連接方法基本類(lèi)
似,我就不再多講了。
1)連接Sql Server數(shù)據(jù)庫(kù)
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服務(wù)器名;Uid=sa;pwd=;Database= 數(shù)據(jù)庫(kù)名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)連接Oracle數(shù)據(jù)庫(kù)
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服務(wù)器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、總結(jié)
通過(guò)本文的介紹,讀者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET連接各種數(shù)據(jù)庫(kù)的方法
。以上三種驅(qū)動(dòng)針對(duì)不同的數(shù)據(jù)庫(kù),它們的性能方面也有很大的不同:The SQL Server .NET Data Provider
的效率最高;The OLE DB .NET Data Provider的效率比較底;The ODBC .NET Data Provider的效率最慢。
具體連接哪一種數(shù)據(jù)庫(kù)選用哪一種數(shù)據(jù)驅(qū)動(dòng)要從工作效率方面來(lái)考慮。
以上回答你滿(mǎn)意么?