Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
试了很久,看了很多帖子,终于解决了,留点记号: 开始-运行-CMD-Telnet <服务器> 1433 提示无法打开端口,连接失败。 做了如下操作: 安装了SQL 服务器已启动 一、安装JDK并配置环境变量(JDK1.5) 本博客的JAVA分类中有这样的文章。 二、JDBC连接 下载jdbc:http://download.microsoft.com/download/4/1/d/41d3e9c0-64d1-451e-947b-7a4cba273b2d/setup.exe 安装JDBC,把其安装目录下的lib下的三个文件添加到classpath中,这个网上都有很多。我的是:C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar;添加完成后 安装SP3补订,下载:SQL Server 2000 SP3, 下载其中的chs_sql2ksp3.exe,注意下载下来的是chs_sql2ksp3.exe文件, 双击它选择安装到一个目录时是在解压,然后你还要到那个目录下双击setup.bat批处理文件才是开始安装(应该说是升级)!!!具体下载地址是:http://download.microsoft.com/download/d/d/e/dde427eb-0296-4eac-a47c-d11a66b03816/chs_sql2kasp3.exe 按此方法做了,还是不行。 三、网络配置 原因: 服务器端网络配置有误 客户端网络配置有误 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文件有相似之处.
四、使用混合模式(Windows 身份验证和 SQL Server 身份验证). SQL企业管理器中-->你的sql注册实例-->右键-->属性-->安全性中-->身份验证-->改为混合模式 测试还是不行。。。。 五、 在控制面板-管理工具-服务下找到telnet服务,并开启它。 六、在“SQL查询分析器”里执行“select @@version”命令显示“Microsoft SQL Server 2000 - 8.00.2039 "说明补丁已经打上。 但我的不是: XP2的操作系统安装SQL SERVER 2000的SP3补丁可解决Telnet SQL SERVER的1433端口无法打开的问题。 但我的不行,于是试了下面的办法:
我的是XP,不过还是想试下, 检查你的SQL有没有打补丁,没有的话要打上补丁,检查的方法是在查询分析器中运行: SQL补丁下载: 如果你的操作 如何检查1433是否在监听?或者检查有哪些端口在监听? 终于可以了。。。。。。。。。。。。。。。。。 有的机子是用:telnet localhost 1433 但问题又来了,连接1433不是目的,目的是想用JDBC访问sql 2000 import java.io.*; public class ConnClub1{ //Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); } 提示找不到驱动:com.microsoft.jdbc.sqlserver.SQLServerDriver。 |
对不了解SQL的朋友很有帮助.