ConnectionString = "Provider=SQLOLEDB;" & _
                               "Server=" & ServerName & ";" & _
                               "Database=" & db & ";" & _
                               "UID=" & user & ";PWD=" & Password & ";"
OpenConnection.Open ConnectionString
我用如上ADO控件连SQL服务器时会出现如下错误:
〔DBNMPNTW〕ConnectionOpen(createfile())当我访问服务器后就不会出错了,能正常连接。

解决方案 »

  1.   

    --用这个呢?
    ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
      

  2.   

    如果还是有问题,尝试用下面的方法解决.1.安装客户端,配置一下:
    开始--程序--Microsoft SQL Server--客户端网络实用工具
    --别名--添加
    --网络库选择"tcp/ip"--服务器别名输入SQL服务器名
    --连接参数--服务器名称中输入SQL服务器ip地址
    --如果你修改了SQL的端口,取消选择"动态决定端口",并输入对应的端口号
      

  3.   

    2.安装最新的mdac2.8Microsoft Data Access Components (MDAC) 2.8
    http://download.microsoft.com/download/8/b/6/8b6198c0-fe96-4811-9d81-d5c76dd5fea8/MDAC_TYP.EXE
      

  4.   

    在SQL的机器上将SQL的认证方式改成混合认证试试
      

  5.   

    to 左手:
    在SQL的机器上将SQL的认证方式改成混合认证试试
    请问在哪改,能详细说明吗?
      

  6.   

    方法1:
    管理工具->服务->MSSQLSERVER->属性->启动->修改用户和密码或改为本地系统帐号
    再重新启动服务。方法2:在查询分析器中直接执行 
    xp_instance_regwrite  N'HKEY_LOCAL_MACHINE',  N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer',  'LoginMode',  N'REG_DWORD', 2 
    即可 
     
    1---Windows认证模式  
    2---SQL和Windows认证模式
      

  7.   

    你指是的身份验证吗?
    我已经把它设为‘sql server和windows’身份验证
      

  8.   

    to 小马可:
    那个服务我是已把它设为本地系统帐号。对了,我还想问个问题:
    ConnectionString = "Provider=SQLOLEDB;" & _
                                   "Server=" & ServerName & ";" & _
                                   "Database=" & db & ";" & _
                                   "UID=" & user & ";PWD=" & Password & ";"这里的用户uid应该是SQL用户对吗?
    假如我把‘server=sql服务器ip地址’就可以连上,但我想用SQL服务器名来连就不行?
    这个问题已经想了很久了,就是不知为什么?
      

  9.   

    这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1
      

  10.   

    这是网络问题,用文件查找的方法,找到一个名叫"hosts"的文件名,用记事本打来,在里面有一个例子,是"127.0.0.1    本机名",此时,你依类似格式,另起一行将SQL服务器IP地址和SQL服务名字写进去,就可以了。
    如:"192.168.0.1   SQL服务器名",
    保存hosts文件。 
      

  11.   

    服务器的数据库需要设制一下改成通过  用户连(SA)
    而不用NT方式
      

  12.   

    to 热狗:
    127.0.0.1       localhost
    100.10.140.43   server
    是改成这样了吗?改了还是不行,我不明白为什么要这么改?
    这应该不是网络问题吧。因为我试了好几台服务器都一样,to 狂刀侠:
    你说改成SA登入,你是指MSSQLSERVER服务的登入身份吗?
    我如把它设成SA,它提示说无效的帐号,好像一定要windows帐号。
      

  13.   

    TO:雪儿
    你改的是服务器还是客户机的hosts文件,要改的是客户机的哦。
    另还有,你的服务器IP是100.10.140.43吗?你的网络有没有上公网?
      

  14.   

    to :Paul
    改客户机的IP啊(你能告诉我这样改有什么作用吗?),这样子不是很不方便,客户机很多的。其实现在只是把我的电脑当服务器做试验,我电脑的IP是动态的(有上公网),等以后真的系统做起来就有一个专门的服务器也就有固定的IP了,算了,我就用IP地址吧,只是连接速度有所下降。可能ADO控件做远程连接只能用IP地址连。也就是‘Data Source=SQL服务器IP地址’,而不能用服务器名。
      

  15.   

    在客户机上用ODBC连一次,再用服务器名就通。