在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40

           这个问题困扰我两天,从本地连接远程的数据库服务器总是报这样的错误,(开始都没问题,突然就报这样的错误)于是到服务器去查看,查了不少解决方案,不过好多是针对Sql server2005,公司的是sql server2000,让老板换一直不让(郁闷)!(程序和数据库是在一个服务器,后来把连接语句改为(server=.;uid=sa;pwd=sa;database=pubs)可以正常连接数据库了,但本地server=服务器IP;uid=sa;pwd=sa;database=pubs 还是不行)于是寻找解决方案!

           于是登陆远程服务器开始找问题,好多文章都说是数据库版本的问题,要把数据库升级到sp4版本,(查询语句:select @@version),查询后发现不是版本的问题,然后开始检查服务器上的的window防火墙,发现防火墙是关着的(不只是window防火墙,像360或者一些杀毒软件的防火墙,关掉,或把1433例外)得,继续找!

           于是用IPBook(这是个扫描端口很好的工具,手动也可以 netstat -a)查看端口的连接状态(连接状态说明),看看常用的1433端口是否侦听状态,如果是侦听状态,然后在客户端用telnet ip 端口 , 看看是否可以连接端口,如果不可以。 那到 服务器网络配置工具  看tcp/ip 查看数据库连接端口是不是1433,如果不是改为1433,再看看客户端的1433端口是否开启,如果没开启,确认都开启! 

 

            让我郁闷的是端口都没问题,于是到服务器把1433端口改为2433端口,重启了数据库服务器,然后把连接字符串改为:server=服务器IP,2433;uid=sa;pwd=sa;database=pubs(sa和window登陆都可以) ,竟连上了,不知道是什么问题,总是问题解决了,大家如果遇到这样的问题可以试试!

         

posted @ 2009-05-28 14:28  funnyzak  阅读(400)  评论(0编辑  收藏  举报