VB遠程連接SQL server 2005
想以辦公室電腦作為服務器,用VB鏈接它的sql server 2005數據庫,第一次弄,試了好幾天都沒成功,看網上說的方法都很簡單,只要將連接字符串設置為如下語句就可以:
strConnection = "driver={SQL Server};Database=數據庫名;UID=數據庫連接名;PWD=數據庫連接密碼;server=服務器IP地址"
可是我也是按照這個做的,就是連不上,后來偶然看見一個帖子,隨口提了一句,服務器的配置要允許遠程訪問,這才想到裝sql server的時候一般都有個選項,讓選擇本地連接還是遠程連接,一般都默認選擇本地連接。這才想到首先要打開服務器的遠程訪問功能,以sql server 2005為例:
sql server 的配置工具---外圍應用配置器----服務和連接的外圍應用配置器---打開之后在左側列表中選擇“遠程連接”----默認的是“僅限本地連接”,我們選擇“本地連接和遠程連接”,然后再選“僅使用TCP/IP”----應用---確定 即可打開遠程訪問功能。
然后在程序中設置連接字符串如下,以下兩句都可以,我已經試過了:
strConnection = "Provider=SQLOLEDB.1;Password=123456;Persist Security Info=True;" & _
"User ID=sa;Initial Catalog=DBmydata;Data Source=10.190.1.23"
strConnection = "driver={SQL Server};Database=DBmydata;UID=sa;PWD=123456;server=10.190.1.33"
我的數據庫連接的整個函數如下:
Public Function OpenDatabase(strDatabaseName As String, strDBSrvName As String) As Boolean
On Error GoTo err_Handle
Dim strConnection As String
Dim strFullPath As String
If gCN.State = adStateConnecting Then
MsgBox "數據庫已經被打開!", vbOKOnly + vbInformation, "提示!"
Else
strConnection = ""
OpenDatabase = False
'///連接SQLServer數據庫///
strConnection = "Provider=SQLOLEDB.1;Password=chdeducn;Persist Security Info=True;" & _
"User ID=sa;Initial Catalog=" & strDatabaseName & ";Data Source=10.190.1.33"
'strConnection = "driver={SQL Server};Database=DBMiomi;UID=sa;PWD=chdeducn;server=10.190.1.33"
gCN.ConnectionString = strConnection
gCN.CursorLocation = adUseClient
gCN.ConnectionTimeout = 15
gCN.CommandTimeout = 600
gCN.Open
OpenDatabase = True
End If
Exit Function
err_Handle:
MsgBox "數據庫連結失敗!", vbOKOnly + vbInformation, "提示!"
OpenDatabase = False
End Function