产生如下异常
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing 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)获取数据库连接失败!!!getConnectionUrl() 内的错误跟踪: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 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 studentsystem.JDBCDriver.getConection(JDBCDriver.java:75) at studentsystem.JDBCDriver.chaxu(JDBCDriver.java:97) at studentsystem.JDBCDriver.main(JDBCDriver.java:126)java.lang.NullPointerException at studentsystem.JDBCDriver.chaxu(JDBCDriver.java:98) at studentsystem.JDBCDriver.main(JDBCDriver.java:126)Exception in thread "main" 是不是SQLserver 的版本问题? 我的是SP2的...
不过我现在正在下住SP4的补丁
还有JDBC纯JAVA驱动..我的也是最新的版本了
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing 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)获取数据库连接失败!!!getConnectionUrl() 内的错误跟踪: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. 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 studentsystem.JDBCDriver.getConection(JDBCDriver.java:75) at studentsystem.JDBCDriver.chaxu(JDBCDriver.java:97) at studentsystem.JDBCDriver.main(JDBCDriver.java:126)java.lang.NullPointerException at studentsystem.JDBCDriver.chaxu(JDBCDriver.java:98) at studentsystem.JDBCDriver.main(JDBCDriver.java:126)Exception in thread "main" 是不是SQLserver 的版本问题? 我的是SP2的...
不过我现在正在下住SP4的补丁
还有JDBC纯JAVA驱动..我的也是最新的版本了
jdbc:microsoft:sqlserver://localhost:1433;这样写是对的,但为什么这样写呢
######################################################################
如何用jdbc连接到sqlserver2000(翻译英文原裆)(1)
介绍了连接server2000的方法之一:使用DriverManager.getConnection(...)连接到数据库有两种方法,one is :with a connection url through the jdbc driver manager,another is with a jndi datasource.我们先说第一种:使用DriverManager.getConnection()方法
第一:你需要设置classpath,它是你得jvm加载类时所要寻找的路径。
当然首先你要有jdbs driver for sqlserver。
设置环境变量:window os:set classpath=.;${your path to save the driver}/msbase.jar;${}/mssqlserver.jar;${}/msutil.jar
第二:注册你的驱动registering the driver
注册驱动告诉你得jdbc管理器去加载什么驱动程序类,
当使用class.forName(),你必须指定驱动类名称,
com.microsoft.jdbc.sqlserver.SQLServerDriver.例如:Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
第三:在注册完一个驱动类后,你必须把你的数据库的物理信息以一个url的形式传给管理器,下面是一个url模版:jdbc:microsoft:sqlserver://server_name:port,其中server2000默认的端口号为:1433.下面是一个例子:
Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://server_name:1433","userName","password");
注:这里的server_name必须是一个ip address,或者一个主机名,你可以使用ping命令来测试你的主机名是否传回一个正确的ip address
###################################
--解决:启动你的sqlserver2000的服务器网络实用工具后,确保你的Tcp/Ip协议已启动,默认的应该都启动了,这是进行通讯的条件一
然后,在选中Tcp/Ip协议后点击属性,就看到了一个默认端口号,这就是你在 getConnection里用到的端口号,你必须把你程序里用
到的端口号,写成这里的值,这样才能解决上面的问题,当然你也可以在这里把端口号给该了,而保持程序不变!1433