Jdbc 连接 Sql server2000

本文介绍了如何通过JDBC连接SQL Server 2000,包括将JDBC驱动添加到环境变量,确保安装了SP3以上的补丁以开启1433端口,以及排查连接错误,如端口未打开、驱动加载失败和权限问题等。通过检查端口、SQL Server版本和设置混合认证模式,可以解决连接问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

将数据库驱动的三jar包加入到环境变量中如:
.;%JAVA_HOME%/lib;%TOMCAT_HOME%/lib;E:/jdbcDriver/mssqlserver.jar;E:/jdbcDriver/msutil.jar;E:/jdbcDriver/msbase.jar
在连接Sql server 2000时得安装sp3以上,这样才能打开server 的1433端口.
小技巧:
一、可以通过命令“netstat -an”,来查看是否开了1433端口,
二、查看MSSQL的版本:
  打开企业管理器-〉工具-〉SQL查询分析器-〉帮助-〉关于
  查看MSSQL的详细版本号
  如果 是 8.00.194 就是还没打补丁
  8.00.760 就是SP3
  8.00.2039 就是SP4
三、MSSQL设置端口号步骤如下:
1. 打开企业管理器,依次在控制台根目录 ->Microsoft SQL Servers->SQL Server 组,列出一部分数据库服务器。
2. 右击我们要连接的数据库服务器,选择属性,在常规选项卡点击网络配置弹出新窗口。
3. 在启用的协议区域我们选择 TCP/IP ,点击属性按钮,弹出新窗口。在这个窗口有网络协议默认值设置,一般默认端口是:1433。 如果你在url中用的端口号与这个不同,就会出现错误。应保持二者相同。
--------------------------------
连接出错分析:

1.环境变量问题:

  java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver

        at java.net.URLClassLoader$1.run(URLClassLoader.java:199)

        at java.security.AccessController.doPrivileged(Native Method)

        at java.net.URLClassLoader.findClass(URLClassLoader.java:187)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:289)

        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)

        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)

        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)

        at java.lang.Class.forName0(Native Method)

        at java.lang.Class.forName(Class.java:141)

        at Test.main(Test.java:11)

解决方法:将下载的三个驱动包加入到环境变量中。
例:
 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;

 2.未安装Sql server 2000 补丁包或1433端口没打开:
  
   java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis

hing socket.

        at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

        at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

        at com.microsoft.jdbc.sqlserver.tds.TDSConnection.<init>(Unknown Source)

        at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)

        at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)

        at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)

        at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)

        at java.sql.DriverManager.getConnection(Unknown Source)

        at java.sql.DriverManager.getConnection(Unknown Source)

        at Test.main(Test.java:14)
解决方法:
1、下载并安装sp3以上补丁包。
2、打开1433端口。


3.权限问题(未设置SQL SERVER登录认证模式为混合认证模式)   

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]用户 'king' 登录失败。

原因: 未与信任 SQL Server 连接相关联。

    at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)

    at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)

    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)

    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)

    at com.microsoft.jdbc.sqlserver.tds.TDSLoginRequest.processReplyToken(Unknown Source)

    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)

    at com.microsoft.jdbc.sqlserver.SQLServerImplConnection.open(Unknown Source)

    at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown Source)

    at com.microsoft.jdbc.base.BaseConnection.open(Unknown Source)

    at com.microsoft.jdbc.base.BaseDriver.connect(Unknown Source)

    at java.sql.DriverManager.getConnection(DriverManager.java:512)

    at java.sql.DriverManager.getConnection(DriverManager.java:171)

    at Testj.main(Testj.java:14)
   
解决方法:
因为SQL SERVER默认安装后认证模式为WINDOWS认证模式,从而导致出错。
启动SQLSERVER企业管理器,选择要进行认证模式设置的服务器。右击该服务器,在弹出菜单中选择属性,SQL SERVER将弹出属性对话框在属性对话框中选择安全性选项,在身份验证处选择“SQL Server和Windows”,然后确定。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值