Java连接SQL SERVER 2000报错,急!

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:02:07
错误如下:
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 Sou
rce)
at com.microsoft.jdbc.base.BaseConnection.getNewImplConnection(Unknown S
ource)
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 DbTest.init(DbTest.java:26)

根据Exception的类型很容易知道啊
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establis
hing socket.
是在建立数据库联接的时候出现了问题,不能建立连接
一般是由网络原因造成的,因为你连接的是本地数据库,所以可以基本排除网络故障,除非你的网卡有问题
不能建立连接的原因可能是你使用windowsxp2或者windows server2003系统,而你的sqlserver没有打sp3,在这种情况下,sqlserver会拒绝jdbc的连接,打上sp3就没事了

关于一楼的描述,首先,搂主使用的是jdbc方式连接sqlserver数据库,所以根本不存在所谓的odbc数据源问题(这个问题只会出现在使用jdbcodbc桥连接的情况下);再一个,关于数据源配置的那个东西叫做dsn(DataSourceName,数据源名称),dns是Domain Name Server-域名服务器,这两个东西一点关系都没有

关于二楼,如果没有找到驱动,应该抛出ClassNotFoundException,而不是SQLException,从错误堆栈里很明显jdbc的驱动已经被加载和调用了

你的数据库没有在ODBC数据源设置吧.看看设置了和java的DNS设置了关联没有.具体设置步骤.请到太平洋论坛里讨论吧.提问的也太小儿科了.我就是数据库研究开发者

有没有SQLSERVER驱动的JDBC啊
应该是没找到驱动,出的错