首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为什么本机可以连接数据库,远程就不行解决办法

2012-01-19 
为什么本机可以连接数据库,远程就不行我的代码有什么问题,本机可以连接数据库,远程就不行报错信息是:错误

为什么本机可以连接数据库,远程就不行
我的代码有什么问题,本机可以连接数据库,远程就不行
报错信息是:错误代码: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= " "

热点排行