纯java驱动连接数据库的问题

kiver149 2008-10-21 02:20:03

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

public class TestConnection {
public static void main(String[] args){
Connection con = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
p("找不到指定加载的类");
e.printStackTrace();
return;
}
try {
con = DriverManager.getConnection("jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=TestDB","sa","sa");
} catch (SQLException e) {
p("连接数据库出错");
e.printStackTrace();
return;
}
if(con != null){
p("数据库连接成功");
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void p(Object o){
System.out.println(o);
}
}
数据库是sql2000
下面是报的异常
连接数据库出错
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 TestConnection.main(TestConnection.java:16)

实在是搞不懂什么意思。麻烦大家帮下忙谢谢了
...全文
96 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
kiver149 2008-10-21
  • 打赏
  • 举报
回复
郁闷是我的服务器不能升级
XP本不能安装2000企业版的
我现在下了个人版可以了
xuhaiyang 2008-10-21
  • 打赏
  • 举报
回复
sqlserver 启动了吧?
用netstat -ano看看sqlserver有没有在1433端口监听
kiver149 2008-10-21
  • 打赏
  • 举报
回复
我已经打了sp4补丁了怎么还是报同样的异常
另外补充我的系统是xp
kiver149 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 yexin218 的回复:]
引用 1 楼 yexin218 的回复:
原因:由于开发环境是Win 2003 Server,故SQL 2000需要补丁包,不然在2k3下,SQL默认关闭了TCP连接
解决:打上SQL serverSP4 就OK了

这个不对~ 就是说要打补丁 见2楼
[/Quote]
tcp协议没禁用啊
下载是不是step.exe我下载安装之后没用啊
能不能告诉我具体的下载地址
Files in This Download
The links in this section correspond to separate files available in this download. Download the files most appropriate for you.
File Name: File Size
Install_Guide.txt
2 KB
Download
JDBC_FAQ_SP3.txt
4 KB
Download
mssqlserver.tar
2.8 MB
Download
Redistribution_Guide.txt
2 KB
Download
setup.exe
2.3 MB
Download

  • 打赏
  • 举报
回复
嘿嘿~~这个问题我遇见过N多次了每次的解决方法都是非常的神奇的

代码应该没有错这点我肯定,其次我试过改SQLServer的端口,重新编译程序,重启机子,升级SP,都试过都曾经解决过,但是我觉得都是偶然的...

上网搜集资料才知道:4类驱动程序是微软抵制java的一种手段,驱动程序的话最好的还是使用第三方的驱动程序,具体名字我忘了,可以就在baidu找找,绝对没有问题
lihan6415151528 2008-10-21
  • 打赏
  • 举报
回复
sp4补丁
lizhi1026 2008-10-21
  • 打赏
  • 举报
回复
端口1433被占用?

黑夜愁客 2008-10-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yexin218 的回复:]
原因:由于开发环境是Win 2003 Server,故SQL 2000需要补丁包,不然在2k3下,SQL默认关闭了TCP连接
解决:打上SQL serverSP4 就OK了
[/Quote]
这个不对~ 就是说要打补丁 见2楼
黑夜愁客 2008-10-21
  • 打赏
  • 举报
回复
需要打补丁:
安装过程参考:http://blog.chinaunix.net/u/21684/showart_270377.html
解决问题的话 加分哦
黑夜愁客 2008-10-21
  • 打赏
  • 举报
回复
原因:由于开发环境是Win 2003 Server,故SQL 2000需要补丁包,不然在2k3下,SQL默认关闭了TCP连接
解决:打上SQL serverSP4 就OK了

62,616

社区成员

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

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