我用TADOConnection连接一个远程数据库,连接串是“Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=数据库名;Data Source=服务器ip”连接时出现错误:“[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或拒绝访问。”而后我cmd里测试 ping 服务器ip,是通的;远程登录这服务器也没有问题,错误在哪啊?

解决方案 »

  1.   

    建个UDL文件试下.可能是MSSQL没有打SP3或SP4补丁.
      

  2.   

    用查询分析器连下。
    如果是2005,将连接的IP改成服务器名试试,如果能连,那就说明用IP连不了。服务器的一个TCP/IP连接没设置上。
      

  3.   

    ---------------------------
    SQL 查询分析器
    ---------------------------
    无法连接到服务器219.238.157.xxx:服务器: 消息 17,级别 16,状态 1
    [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
    ---------------------------
    确定   
    ---------------------------
      

  4.   

    先ping一下那个IP,测试的确连通,然后再建UDL之类的测试连接数据库,
      

  5.   

    首先要确认你的sql的版本和补丁有没有安装,sql2000以上的版本要启用tcp/ip协议。
    确保ping ip地址可以正常稳定连接,如果无法ping通,则使用花生壳或者花刺代理等代理软件把内网的ip地址映射到外网(路由器里面要进行相关的设置),确保能够ping通外网服务器。