社区
疑难问题
帖子详情
客户端不能连接sql server 服务器
Mars_Power
2007-03-18 10:06:48
服务器是sql server 2000,公网ip
客户端程序在实验室别的机器上能够连接服务器
但在internet网路中的别人的机器上就连不上了,
这是为什么呀
是否必须别人也是公网ip才能连上
100分准备好了
...全文
1369
17
打赏
收藏
客户端不能连接sql server 服务器
服务器是sql server 2000,公网ip 客户端程序在实验室别的机器上能够连接服务器 但在internet网路中的别人的机器上就连不上了, 这是为什么呀 是否必须别人也是公网ip才能连上 100分准备好了
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Mars_Power
2007-03-23
打赏
举报
回复
谢谢贝塔大哥
现在有点明白了
防火墙都关闭了
可能是端口的问题
我把端口改成808在我们另一个校区的机器就能够连接了
本以为解决了
后来发现除了我们这几个校区外,其他internet中的机器还是连接不上
怀疑是不是学校把所有的端口都封了
有没有人知道端口怎么被封的 或者怎样解除封掉的端口
在等几天没人解决就结帖
h_lj
2007-03-21
打赏
举报
回复
好吧,我说的其实是防火墙的问题,检查你的服务器上的1433口是否被防火墙阻止。
还有你的服务器是否有两个IP,那要检查一下SQL SERVER的TCP/IP协议是否在这两个IP上都启用了。
Mars_Power
2007-03-20
打赏
举报
回复
公网ip也有可能通过路由器上网么?
原谅我对网络的无知吧:)
Mars_Power
2007-03-20
打赏
举报
回复
h_lj(贝塔)大哥
能不能详细说说路由器的端口问题
如果用路由器上网外面的客户端就不能连接到服务器吗
Mars_Power
2007-03-20
打赏
举报
回复
原来连在局域网中都不能连接,后来打了sp4补丁,在局域网能连接了
但是换到局域网以外就不行了,是不是ado只能用于局域网内服务器与客户端的连接
zhaoanle
2007-03-20
打赏
举报
回复
打上SQL2000 SP4补丁
Mars_Power
2007-03-20
打赏
举报
回复
请问 wangtiecheng ado和odbc不是都可以远程连接吗
小弟刚接触数据库,望指教
Mars_Power
2007-03-20
打赏
举报
回复
运行程序的时候弹出“数据库连接失败,确认数据库登录默认用户sa的密码是不是19791211”的提示,就是说m_pConnection->Open函数连不上服务器
防火墙关闭,也启用了tcp/ip协议,默认端口是1433
在实验室中的局域网telnet没问题,在公网中telnet就连接失败
ip地址是公网地址
OracleRoob
2007-03-20
打赏
举报
回复
连接串没有问题,看能否创建ODBC数据源试。
Mars_Power
2007-03-20
打赏
举报
回复
谢谢大家的支持
客户端是一个用ado访问数据库的程序,连接服务器的代码如下
m_pConnection.CreateInstance(__uuidof(Connection));
try
{
m_pConnection->Open("driver={SQL Server};Server=222.195.151.33;DATABASE=hh;UID=sa;PWD=19791211","","",adModeUnknown);
}
catch(_com_error e)
{
AfxMessageBox("数据库连接失败,确认数据库登录默认用户sa的密码是不是19791211!");
return FALSE;
}
CathySun118
2007-03-19
打赏
举报
回复
这个是最复杂的,错误发生的原因比较多,需要检查的方面也比较多.
一般说来,有以下几种可能性:
1,SQL Server名称或IP地址拼写有误
2,服务器端网络配置有误
3,客户端网络配置有误
要解决这个问题,我们一般要遵循以下的步骤来一步步找出导致错误的原因.
============= 首先,检查网络物理连接 =============
ping <服务器IP地址/服务器名称>
如果 ping <服务器IP地址> 不成功,说明物理连接有问题,这时候要检查硬件设备,如网卡,HUB,路由器等.
还有一种可能是由于客户端和服务器之间安装有防火墙软件造成的,比如 ISA Server.防火墙软件可能会屏蔽对 ping,telnet 等的响应
因此在检查连接问题的时候,我们要先把防火墙软件暂时关闭,或者打开所有被封闭的端口.
如果ping <服务器IP地址> 成功而,ping <服务器名称> 失败
则说明名字解析有问题,这时候要检查 DNS 服务是否正常.
有时候客户端和服务器不在同一个局域网里面,这时候很可能无法直接使用服务器名称来标识该服务器,这时候我们可以使用HOSTS文件来进行名字解析,
具体的方法是:
1.使用记事本打开HOSTS文件(一般情况下位于C:\WINNT\system32\drivers\etc).
添加一条IP地址与服务器名称的对应记录,如:
172.168.10.24 myserver
2.或在 SQL Server 的客户端网络实用工具里面进行配置,后面会有详细说明.
============= 其次,使用 telnet 命令检查SQL Server服务器工作状态 =============
telnet <服务器IP地址> 1433
如果命令执行成功,可以看到屏幕一闪之后光标在左上角不停闪动,这说明 SQL Server 服务器工作正常,并且正在监听1433端口的 TCP/IP 连接
如果命令返回"无法打开连接"的错误信息,则说明服务器端没有启动 SQL Server 服务,
也可能服务器端没启用 TCP/IP 协议,或者服务器端没有在 SQL Server 默认的端口1433上监听.
=============接着,我们要到服务器上检查服务器端的网络配置,检查是否启用了命名管道.是否启用了 TCP/IP 协议等等 =============
可以利用 SQL Server 自带的服务器网络使用工具来进行检查.
点击:程序 -- Microsoft SQL Server -- 服务器网络使用工具
打开该工具后,在"常规"中可以看到服务器启用了哪些协议.
一般而言,我们启用命名管道以及 TCP/IP 协议.
点中 TCP/IP 协议,选择"属性",我们可以来检查 SQK Server 服务默认端口的设置
一般而言,我们使用 SQL Server 默认的1433端口.如果选中"隐藏服务器",则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接.
============= 接下来我们要到客户端检查客户端的网络配置 =============
我们同样可以利用 SQL Server 自带的客户端网络使用工具来进行检查,
所不同的是这次是在客户端来运行这个工具.
点击:程序 -- Microsoft SQL Server -- 客户端网络使用工具
打开该工具后,在"常规"项中,可以看到客户端启用了哪些协议.
一般而言,我们同样需要启用命名管道以及 TCP/IP 协议.
点击 TCP/IP 协议,选择"属性",可以检查客户端默认连接端口的设置,该端口必须与服务器一致.
单击"别名"选项卡,还可以为服务器配置别名.服务器的别名是用来连接的名称,
连接参数中的服务器是真正的服务器名称,两者可以相同或不同.别名的设置与使用HOSTS文件有相似之处.
leo_lesley
2007-03-19
打赏
举报
回复
报什么错误啊~~~~~~
云中客
2007-03-19
打赏
举报
回复
在公网上不能连接的原因很多
1.网速的问题,如果连接时间过长,可能超时造成连接失败
2.用户极限的问题
3.防火墙的设置也可能使用数据库不能正常连接
4.本身设置的问题,请检查服务端/客户端设置是否正确
5.检查/修复Hosts文件
h_lj
2007-03-18
打赏
举报
回复
一般是路由器端口封掉了,还有就是SQL server的tcp/ip连接没打开。因为局域网内是可以不用tcp/ip连接的。
OracleRoob
2007-03-18
打赏
举报
回复
检查是否设置了防火墙。
Eri
2007-03-18
打赏
举报
回复
不能连接有很多很多中情况。
你先把你所谓不能连接的症状描述一下。
我的意思就是你是怎么确定你不能联上的?
ankor
2007-03-18
打赏
举报
回复
可能是网速太慢,连接超时。。
Java-前后端分离-单点登录(SSO二级跨域和跨一级域名)
单点登录的英文名叫做:Single Sign On(简称SSO)
cas登录成功后不跳转成功页面_开发SSO单点登录需要注意的问题
一、单点登录系统开发需要注意的问题 1.单点登录系统需要支持jsonp请求? 单点登录系统主要是向其他系统提供用户身份验证服务,因此需要提供对外接口,而外部系统通过接口访问时,必然涉及跨域问题,因此需要单点登录系统支持jsonp消息转换,即能正确处理跨域请求。否则,请求接收到的数据解析失败,chrome debug中提示“Uncaught SyntaxError: Unexpected t...
单点登录功能实现
单点登录SSO实现
域登录态分享(类sso)
遇到一个问题,在同一主域下的多个子域之间共享登录状态的需求。例如: main.example.com 主站 learn.example.com 学习中心 希望在任意子域登录后,其他子域也能自动识别登录状态,包括登出同步。 Cookie 跨子域共享 浏览器安全策略允许 Cookie 在同一主域下共享,
CAS退出问题
CAS 3.5.2.1 版本 退出的解决方法: 1.将
疑难问题
22,298
社区成员
121,727
社区内容
发帖
与我相关
我的任务
疑难问题
MS-SQL Server 疑难问题
复制链接
扫一扫
分享
社区描述
MS-SQL Server 疑难问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章