本机安装的是SQLserver 2005简体中文开发版,问题是连接数据库时报错,代码如下:
import java.sql.*;public class DBlogic {
Connection conn=null; public Connection getConn(){
try {
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//conn = DriverManager.getConnection("jdbc:odbc:Mydata2","sa","sinosoft"); conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;user=sa;password=sinosoft");
System.out.println("连接成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("有异常");
}
return conn;
}
public static void main(String args[])
{
new DBlogic().getConn();
}}
另注:那三个数据包已经添加了的.而且路径也正确.
很郁闷的是,这个代码完全复制到别人的机品上能用.上面代码用数据源的方式连接成功
报错总是输出"有异常"
也就是说conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;user=sa;password=sinosoft");
这句话出问题了!百思不得其解,从语法来说是肯定没有错的.用数据源又可以成功连接上去.
最后老师也只能得出系统的问题这个答案.不知道有没有高手遇到过这种情况.是不是要打什么补丁呢,2005已经很高级了还需要打什么补丁呢,请高手踢教谢谢!
新人没分,请大家谅解!
import java.sql.*;public class DBlogic {
Connection conn=null; public Connection getConn(){
try {
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
//conn = DriverManager.getConnection("jdbc:odbc:Mydata2","sa","sinosoft"); conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;user=sa;password=sinosoft");
System.out.println("连接成功");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("有异常");
}
return conn;
}
public static void main(String args[])
{
new DBlogic().getConn();
}}
另注:那三个数据包已经添加了的.而且路径也正确.
很郁闷的是,这个代码完全复制到别人的机品上能用.上面代码用数据源的方式连接成功
报错总是输出"有异常"
也就是说conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs;user=sa;password=sinosoft");
这句话出问题了!百思不得其解,从语法来说是肯定没有错的.用数据源又可以成功连接上去.
最后老师也只能得出系统的问题这个答案.不知道有没有高手遇到过这种情况.是不是要打什么补丁呢,2005已经很高级了还需要打什么补丁呢,请高手踢教谢谢!
新人没分,请大家谅解!
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 Jdbc.DBlogic.getConn(DBlogic.java:22)
at Jdbc.DBlogic.main(DBlogic.java:33)
有异常
着行代码应该是
conn = DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=pubs","sa","sinosoft");
试下看......
看一下1433口状态
这个东西会导致你连接异常!
如果没有drcom哪么可能系统的某些服务没启用!
的确是有一个补丁没有打
是一个关于数据库补丁
Error establishing socket.
这个异常是与那个补丁有关
至于具体是什么补丁我下次告诉你
我找一下
sp4补丁打了一样出错,在别的及其运行可以,自己的就不行
去掉micosoft就报tcp/ip 异常
2000驱动,Error establishing socket. 2005驱动(错误:没有恰当驱动)都不行
自己的数据库这个端口打开了没有!!!