注册 登录
编程论坛 J2EE论坛

数据库连接还有异常,为什么呀?

笑笑 发布于 2006-08-01 11:30, 673 次点击

package lianjiejing;
import java.sql.*;

public class lianjie {
private Statement smt;
private Connection con;
public lianjie()
{
try
{
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=pubs";
String user="sa";
String password="";
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
Connection conn= DriverManager.getConnection(url,user,password);
if(con!=null)
{
System.out.println("ok");
}

}catch(Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args) {
lianjie lianjie = new lianjie();
}
异常为:
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 lianjiejing.lianjie.<init>(lianjie.java:15)
at lianjiejing.lianjie.main(lianjie.java:27)
谁帮我看看是怎么回事,弄好久了都不知道哪错了,谢谢了

9 回复
#2
千年冰封2006-08-01 13:30

if(con!=null)
{
System.out.println("ok");
}

con有定义吗?应该是conn吧

还有,总觉得你的数据库链接有问题,我一般都写成一句,例如:
Provider=SQLOLEDB;Password=;Persist Security Info=True;User ID=sa;Initial Catalog=aaa;Data Source=localhost

#3
笑笑2006-08-01 13:32
定义了呀,看上面,这是本地驱动连接呀?
你写的是........
#4
可可℃乐2006-08-01 13:56

冰封 是说你上面声明的连接的接口是CONN
而你下面却用CON了
是你写的有点失误

#5
笑笑2006-08-01 13:58
private Connection con;
晕,声明的是con,可以运行,是异常呀
在学校的机器也可以的,家里的就是不行
#6
千年冰封2006-08-01 15:42
private Connection con;
....
Connection conn= DriverManager.getConnection(url,user,password);
if(con!=null)
....

不明白你这么写有什么意义.
#7
笑笑2006-08-01 17:08
这是本地驱动连接呀?
我那个if语句只是为了测试数据库是否连接成功
#8
千年冰封2006-08-01 17:52
我觉得那样并不能检测的出来
#9
笑笑2006-08-01 17:56
为什么不能,连接成功了,既,CON 不是NULL,则输出OK;
为什么不能呀,逻辑有错误么?我只是想练一下这种连接
#10
笑笑2006-08-01 21:47
出来了,是数据库的问题
同学告诉我去网上下一个数据库SP3a补丁,
还是谢谢大家啊
1