连接SQL SERVER的问题,使用名称可以连接而使用ip则不能连接

weenyboy 2004-03-24 04:27:00
如题,假如在另外一台机器上连接sql server 2000服务器,可以使用服务器的机器名称来连接,而使用ip地址则不能连接,返回“超时已过期”信息。
两台机都安装windows 2000 server,和sql server 2000企业版。
连接方式用isqlw。
是什么原因呢?谢谢
...全文
90 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
web700 2004-03-29
  • 打赏
  • 举报
回复
你如果是用二台电脑,中间没有交换机的话就是个这问题

weenyboy 2004-03-24
  • 打赏
  • 举报
回复
没有解决问题:(
已经有的协议是TCPIP和NAME PIPES,问题依旧。
此外,如果启动工作站的sql server,服务器端无论是ip或者名称都可以正常访问
LoveSQL 2004-03-24
  • 打赏
  • 举报
回复
选用tcp/ip协议看看
chludlf 2004-03-24
  • 打赏
  • 举报
回复
如是用ODBC连接则:
进入-->控制面版.\资料来源(ODBC)\SYSTEM DSN
CONFIG 连接, 把NAMED PIPES改为 TCP/IP
zjcxc 2004-03-24
  • 打赏
  • 举报
回复
大部分机都用Tcp/ip才能成功,有次我发现用Named Pipes才可以?

回复人: leimin(黄山光明顶)

这是因为在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
zjcxc 2004-03-24
  • 打赏
  • 举报
回复
主要进协议的问题,你的两台电脑,在网络属性中,将除tcp/ip外的协议都删除
然后再试,应该就可以解决这个问题了.
leeboyan 2004-03-24
  • 打赏
  • 举报
回复
try:
sql server客户端网络使用工具-〉常规-〉按顺序启动协议,tcp/ip置顶-〉别名-〉编辑-〉网络库(选tcp/ip)-〉服务器名称(输入ip)->确定

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧