您的位置:程序门 -> vb -> 数据库(包含打印,安装,报表)



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


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


为什么本机可以连接数据库,远程就不行[已结贴,结贴人:hysj02]
发表于:2007-01-19 17:56:23 楼主
我的代码有什么问题,本机可以连接数据库,远程就不行
报错信息是:错误代码: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
发表于:2007-01-19 18:10:171楼 得分:0
补充问一下:这与sql   server的windows验证和sql验证有什么关系?
发表于:2007-01-22 11:15:012楼 得分:0
你装的是sqlserver的什么版本?开发版不行!
发表于:2007-01-22 11:28:093楼 得分:0
在安装sql时,选择sql验证方式。如果服务器不是域控制器,还要将客户端的连接方式改为tcp/ip。
发表于:2007-01-22 12:45:584楼 得分:2
使用sql   验证方式。

windows2003   ?   安装   sqlserver   sp3/sp4
   

发表于:2007-01-22 14:33:125楼 得分:2
integrated   security   =   sspi和uid=sa;pwd=shizh;   不能一起用。
前者的意思事以windows用户帐户身份登录sql,后者是以sql用户sa登录sql。
你必须二选一。不能全写。
如果你的程序和sql   server在同一台机器上,用前者。
如果远程连接sql   server,必须只用后者。
发表于:2007-01-22 16:31:496楼 得分:2
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=密码 "
发表于:2007-01-22 16:52:547楼 得分:0
是你安装sql的时候是用window验证的,应该用sql验证
发表于:2007-01-22 16:56:268楼 得分:2
我也碰到这种情况,我是用adodc连datagrid,

我事先连好adodc与datagrid,然后在程序加载运行的时候去配置adodc的connectstring和recordsource属性,奇怪的是,我在本机上进行测试时是可以连接成功(我连接是的局域网中另一台服务器).然后我把程序复制到那台服务器上去测试,竟然连接不成功,难道连本机的服务器都不行?
发表于:2007-01-22 16:57:409楼 得分:2
补充一下:我的配置字符串connectstring是保存在一个文本文件中的,程序加载再读取这个字符串,这个字符串的格式如下:  
provider=sqloledb.1;persist   security   info=false;initial   catalog=jh;data   source=weiye1;user   id=sa;password= " "
发表于:2007-01-22 17:04:4410楼 得分:0
把data   source=后面的改成带ip地址的,   或者把它做成dsn,新换一台机器就在新机器上重新设一次dsn。
发表于:2007-01-22 17:09:1111楼 得分:0
请问怎么做dsn啊?


快速检索

最新资讯
热门点击