SQLServer - 数据库连接问题?请大虾们指点一下

leawen 2008-01-04 09:57:36
写了一个测试连接类,如下:
package org.myweb.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class Test {

static Connection con = null;

static Statement st = null;

static ResultSet rs = null;

public static Connection getCon() {
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user = "sa";
String pwd = "admin";
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = DriverManager.getConnection(url, user, pwd);
} catch (Exception e) {
e.printStackTrace();
}
return con;
}

public static void getEmp() {
con = getCon();
String sql = "select fname,lname from employee";
try {
st = con.createStatement();
rs = st.executeQuery(sql);
while (rs.next()) {
System.out.println(rs.getInt("fname") + " "
+ rs.getString("lname"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
if (con != null)
con.close();
if (st != null)
st.close();
} catch (Exception e1) {
e1.printStackTrace();
}
}
}

public static void main(String args[]) {
getEmp();
}
}

运行后老是出现这样的错误:
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(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.myweb.dao.Test.getCon(Test.java:23)
at org.myweb.dao.Test.getEmp(Test.java:31)
at org.myweb.dao.Test.main(Test.java:55)
Exception in thread "main" java.lang.NullPointerException
at org.myweb.dao.Test.getEmp(Test.java:34)
at org.myweb.dao.Test.main(Test.java:55)

到底是什么原因呢?
...全文
120 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
showtime520 2008-01-05
  • 打赏
  • 举报
回复
没有给数据库打JDBC的SP3/SP4的补丁
薛定谔之死猫 2008-01-05
  • 打赏
  • 举报
回复
这个是微软重大失误,呵呵,以前听到过类似的抱怨,说微软的SQL Server不支持Java访问,可能就是这个误会
yuanweijie 2008-01-04
  • 打赏
  • 举报
回复
没有 打补丁,
lihaifeng0412 2008-01-04
  • 打赏
  • 举报
回复
打sp4吧
haicaoxiaoyu 2008-01-04
  • 打赏
  • 举报
回复
可能要打sp4补丁,网上可以下载
tanlingyun 2008-01-04
  • 打赏
  • 举报
回复
打了补丁没
cursor_wang 2008-01-04
  • 打赏
  • 举报
回复
你的jdbc驱动包放了吗?放对位置吗?
薛定谔之死猫 2008-01-04
  • 打赏
  • 举报
回复
创建连接使用的套接字时失败,将localhost换成127.0.0.1行不行?需确认本地SQL Server已经在指定的端口监听

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧