在利用纯java jdbc驱动程序实现数据路的连接.我已经把那三个数据包放到了jdk中的bin/ext文件夹中了.
给出程序是这样的:
import java.sql.*;
import javax.swing.*;
class ConnectServer2 {
static Connection con=null;
public static boolean conn(String url,String username,String password){
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
}catch(Exception e){ e.printStackTrace();return false;}
try{
con = DriverManager.getConnection(url,username,password);
}catch(SQLException e){ e.printStackTrace();return false;}
return true;
}
public static boolean close(){
try{
con.close();
con = null;
}catch(SQLException e){ return false;}
return true;
}
public static void main(String args[]){
if(conn("jdbc:microsoft:sqlserver://localhost:3606;DatabaseName=xsgl","sa","")){
JOptionPane.showMessageDialog(null, "数据库连接成功");
close();
}
else
JOptionPane.showMessageDialog(null, "数据库连接失败");
}
}
错误提示是这样的:
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 ConnectServer2.conn(ConnectServer2.java:19)
at ConnectServer2.main(ConnectServer2.java:44)
什么是正在建立socket错误,端口不是可以在一定范围内可以任意定的吗?
----------------解决方案--------------------------------------------------------
数据库要打SP3以上的包
----------------解决方案--------------------------------------------------------
为什么在桥连接的时候不需要打上sp3数据库升级包呢?
----------------解决方案--------------------------------------------------------
桥接不用,桥接用的是ODBC的驱动
----------------解决方案--------------------------------------------------------
升级到sp4了,但是还是显示以上的错误.老大,再给看看?为什么会这样?
----------------解决方案--------------------------------------------------------
升级到sp4了,但是还是显示以上的错误.老大,再给看看?为什么会这样?
----------------解决方案--------------------------------------------------------
问题解决,为什么端口换成1433就行,而3606不行呢?奇怪.哪位能说说为什么?
----------------解决方案--------------------------------------------------------
问题解决,为什么端口换成1433就行,而3606不行呢?奇怪.哪位能说说为什么?
用哪个端口完全取决于你的数据在哪个口监听.如果你数据库占用的是1433,那么连3606当然不行
----------------解决方案--------------------------------------------------------
默认端口 :1433
----------------解决方案--------------------------------------------------------
默认的是1433,但是如果不是默认状态,我这么才能知道我的数据在哪个端口监听呢?有什么办法吗?问的多了一点.
----------------解决方案--------------------------------------------------------