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)
谁帮我看看是怎么回事,弄好久了都不知道哪错了,谢谢了
----------------解决方案--------------------------------------------------------
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
----------------解决方案--------------------------------------------------------
定义了呀,看上面,这是本地驱动连接呀?
你写的是........
----------------解决方案--------------------------------------------------------
冰封 是说你上面声明的连接的接口是CONN
而你下面却用CON了
是你写的有点失误
----------------解决方案--------------------------------------------------------
private Connection con;
晕,声明的是con,可以运行,是异常呀
在学校的机器也可以的,家里的就是不行
----------------解决方案--------------------------------------------------------
private Connection con;
....
Connection conn= DriverManager.getConnection(url,user,password);
if(con!=null)
....
不明白你这么写有什么意义.
----------------解决方案--------------------------------------------------------
这是本地驱动连接呀?
我那个if语句只是为了测试数据库是否连接成功
----------------解决方案--------------------------------------------------------
我觉得那样并不能检测的出来
----------------解决方案--------------------------------------------------------
为什么不能,连接成功了,既,CON 不是NULL,则输出OK;
为什么不能呀,逻辑有错误么?我只是想练一下这种连接
----------------解决方案--------------------------------------------------------
出来了,是数据库的问题
同学告诉我去网上下一个数据库SP3a补丁,
还是谢谢大家啊
----------------解决方案--------------------------------------------------------