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