|
"SQL Server不存在或访问被拒绝"问题的解决(3) 而查询分析器是 15 秒(这也是为什么在企业管理器里发生错误的可能性比较大的原因).
具体步骤为: 企业管理器中的设置: 1.在企业管理器中,选择菜单上的"工具",再选择"选项" 2.在弹出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡 3.在"连接设置"下的"登录超时(秒)"右边的框中输入一个比较大的数字,如 20.
查询分析器中的设置: 工具 -- 选项 -- 连接 -- 将登录超时设置为一个较大的数字
四.大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?
这是因为在WINDOWS 2000以后的操作系统中,MS为解决SQL SERVER的安全问题将TCP/IP配置 为SQLSERVER的默认连接协议,你可以在CLIENT NETWORK UTILITY中看到TCP/IP和NAME PIPE 的顺序。
你也可以在: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib] "ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00 看到默认的协议。
2.怎么在程序中更改Named Pipes , Tcp/ip ,其sql语句怎么写? 你可以在上面提到的注册表的位置修改: CLIENT端: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\SuperSocketNetLib] "ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
SERVER端: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib] "ProtocolOrder"=hex(7):74,00,63,00,70,00,00,00,00,00
我的问题应该属于第一类,遗憾的是我按照上面说的方法都不能解决这个问题。我使用:telnet <服务器IP地址> 1433 显示不能正确连接。按照说的方法也不能解决这个问题。有网友说出现1433端口不能连接的因为是Sql Server 2000没有打补丁的缘故,但我打过sp4后仍然不能正确连接1433端口。 我在web.config里的设置为: <configuration> <appSettings> <!--"data source=SASANK;initial catalog=CODER;persist security info=False;user id=sa;workstation id=SASANK;packet size=4096"--> <add key="ConnectionString" value="server=localhost;Trusted_Connection=false;user id=sa;passWord=sa;database=sichuan"/> </appSettings> <system.web> 找了好久原因,都不行。 后来试着将数据库连接项改为: <add key="ConnectionString" value="server=192.168.254.60;Trusted_Connection=false;user id=sa;password=sa;database=sichuan"/>也就是把其中的Server改为我的机器在局域网中的IP地址(注意我是本机调试,我把server改为机器名也不行),连接运行,竟然成功了!问题解决了,但我还是不太明白是什么原因?为什么我使用telnet命令打开1433端口不成功?希望有谁能够解释下!
|