我在.net2008开发环境中运行程序时,能正常连上数据库,但把它部署到IIS上运行时,总是提示无示连接上数据库,且我把数据库架在内网的服务器上,是2000的数据库,却提示“在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) ”的错误,请问这到底是什么原因导致无法连接上数据库?

解决方案 »

  1.   

    http://zhidao.baidu.com/question/53596189.html?fr=ala0
      

  2.   

    server=192.168.1.5;database=xxxx;uid=xxx;pwd=xxx;
    这就是我的连接字符串,在IIS的虚拟目录是这样的,在Webconfig中也是这样的啊。在开发环境中能正常访问,就是部署在IIS上就不能运行,服务器的windows防火墙也关闭了的啊。且我用的是数据库是sql2000的啊,不是sql2005啊。
      

  3.   

    http://hi.baidu.com/hubblebubblepig/blog/item/3e01cb2a0204cd9d033bf607.html
      

  4.   

    http://hi.baidu.com/cool_web/blog/item/a6e38e8f1190e5ebf11f3663.html
      

  5.   

    确定你有访问192.168.1.5服务器的权限,然后用户名密码有没有错,还有如果你iis是在内网,你的数据库架在外网,你当然不能直接访问,像这种情况,我们通常要做数据交换服务,或者webservice,但数据据量大的话,我觉得webservice难以胜任!
      

  6.   

    哈哈,我找到原因了,发现服务器的sql端口不是1433了,是修改了的,所以在配置文件中加上对应端口就可以访问了,感谢大家的回复。但想不明白的时,我用企业管理器和查询分析器都能正常连上内网的服务器上的数据库。哎。
      

  7.   

    企业管理器和查询分析器,是数据库的一家人,认识。 .NET比较傻,需要用代码测试  :)