用Java的JDBC连数据库(2005)时遇到的问题!!
今天接到一个项目,和队里的人商量了一下说用MyEsclipse+SQL Server2005来开发
以前用的数据库是2000,用的JDBC的驱动方式没有问题!可是现在我连上了2005,连最简单一个查询都出异常……
这是为什么呢?是因为2000和2005的Jar包不一样?还是因为连接数据库的方式不一样?
刚才开我以为是端口的问题,可是看看端口05也是1433啊!
我的数据库服务器名是EVA,验证是SQL的,用户名sa,密码为空
下面是我的代码(我先说明,数据库没有问题,用ODBC能连!)
public class Test { public static void main(String[] args) throws Exception { Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=数据库名"; String user = "sa"; String password = ""; Connection conn = DriverManager.getConnection(url); String sql = "select * from star"; java.sql.PreparedStatement ps = conn.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while (rs.next()) { System.out.print(rs.getString(1)+" "); System.out.println(rs.getString(2)); } }}Exception in thread "main" 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) 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:9)