本机安装的是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 输入输出流 缓冲区问题
- 用FileChannel读文件到String的时候,第二次调用这个方法的时候,缓冲器错误
- 这是看别人一段程序 可是里面我还有点不明白的地方 请指教!!!
- 问题求解!!
- 初学者问题:数组问题。热心人请进
- ◆◆◆◆◆用过Insectivore v1.1.1 Beta for Eclipse 3.0.M的朋友请进来◆◆◆◆◆
- 求大神帮忙解决问题,java添加背景图片,程序不稳定,图片经常覆盖控件
- 关于package
- 我是新手,請問一個基本功問題
- java安全里面的PrivateKey和PublicKey是怎么初始化的??
- 新手关于java Vector类的问题
- 三角形程序
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驱动(错误:没有恰当驱动)都不行
自己的数据库这个端口打开了没有!!!