为什么本机可以连接数据库,远程就不行
我的代码有什么问题,本机可以连接数据库,远程就不行
报错信息是:错误代码:2147217843
错误提示:用户 "(计算机名或服务器名)\GUEST "登录失败
我的计算机名和服务器名是一样的
Global g_ConDB As New ADODB.Connection
Public Function ConnectToDB() As Boolean
On Error GoTo Err1
g_ConDB.ConnectionString = "Provider = sqloledb.1; Integrated Security = SSPI; Persist Security Info =false; " & _
" Data Source= " & 服务器名 & "; Initial Catalog = " & 数据库名 & "; uid=sa;pwd=shizh; server= " & 服务器名
g_ConDB.ConnectionTimeout = 30
g_ConDB.Open
ConnectToDB = True
Exit Function
Err1:
ConnectToDB = False
MsgBox "ConnectToDB错误 " & vbCrLf & "错误代码: " & Err.Number & vbCrLf & "错误提示: " & Err.Description, vbCritical + vbOKOnly, "错误 "
End Function
[解决办法]
使用SQL 验证方式。
Windows2003 ? 安装 SQLServer SP3/SP4
[解决办法]
Integrated Security = SSPI和uid=sa;pwd=shizh; 不能一起用。
前者的意思事以WINDOWS用户帐户身份登录SQL,后者是以SQL用户SA登录SQL。
你必须二选一。不能全写。
如果你的程序和SQL SERVER在同一台机器上,用前者。
如果远程连接SQL SERVER,必须只用后者。
[解决办法]
Integrated Security=SSPI 这个表示以当前WINDOWS系统用户身去登录SQL SERVER服务器,如果SQL SERVER服务器不支持这种方式登录时,就会出错。
你可以使用SQL SERVER的用户名和密码进行登录,如:
"Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=数据库名;Data Source=192.168.0.1;User ID=sa;Password=密码 "
[解决办法]
我也碰到这种情况,我是用adodc连datagrid,
我事先连好adodc与datagrid,然后在程序加载运行的时候去配置adodc的connectstring和recordsource属性,奇怪的是,我在本机上进行测试时是可以连接成功(我连接是的局域网中另一台服务器).然后我把程序复制到那台服务器上去测试,竟然连接不成功,难道连本机的服务器都不行?
[解决办法]
补充一下:我的配置字符串connectstring是保存在一个文本文件中的,程序加载再读取这个字符串,这个字符串的格式如下:
Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=JH;Data Source=WEIYE1;User ID=sa;Password= " "