今天接到一个项目,和队里的人商量了一下说用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)
以前用的数据库是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)
楼主【evasunny2008】截止到2008-07-07 18:04:12的历史汇总数据(不包括此帖):
发帖的总数量:10 发帖的总分数:390
结贴的总数量:10 结贴的总分数:390
无满意结贴数:3 无满意结贴分:190
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:30.00 % 无满意结分率:48.72 %
敬礼!
2,指定的服务器上的sql server的服务没有启动,你可以通过sql server的查询工具来验证这个问题。
3,指定端口错误,sql server的默认端口是1433。
4,sql server没有提供tcp/ip的服务,你可以通过sql server的管理工具来查看这个问题。5,如果你的系统是 windows XP 或者 Windows 2003,那么你的sql server一定要升级到sp3以上.解决了如上问题一般就不会出现连接问题了。
这次主要是因为没有升级到sp3
1、不太清楚,用ping怎么来ping啊!!!我只知道用ping是来ping网络的!!
2、如果我的sql Server没有启动,我用odbc怎么可以呢??
3、我用的端口是默认的啊……就是1433,而且我还看了!!
4、我的系统是03,数据库是05,有sp包吗?
还有没有知道的啊??来帮我想想吧!!
SP3 以上得都可以。
2中可能:SP3 数据库补丁没打
Sqlserver 2005 sp2 补丁,打这个比较保险~~!!
driverClassName =com.microsoft.jdbc.sqlserver.SQLServerDriver
Url=jdbc:microsoft:sqlserver://localhost:1433;databaseName=test2005:
driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://127.0.0.1:1433;databaseName=test
包:sqljdbc.jar
打补丁好像没有什么用……
首先,2000和2005的连接方式不一样,而且2005只用打一个jar包就OK了!!!!
19楼说的是对着的……!!!