基本上环境已经配置好了
而且前两天还成功过,但今天又突然不行了,很是郁闷问题如下:
环境:JDK1.5+SQL2000
关于SQL的jdbc 包我也已经安装过了
下面是我的程序(很简单的测试程序):
import java.sql.*;
public class SimpleTest{
public static final String drivername =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String url =
"jdbc:microsoft:sqlserver://192.168.0.6:1433;DatabaseName=pubs";
public static final String user = "sa";
public static final String password = "willfly";
public static void main( String[] args ){
String queryString = "SELECT title, price FROM TITLES";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName( drivername );
conn = DriverManager.getConnection( url, user, password );
st = conn.createStatement();
rs = st.executeQuery( queryString );
while( rs.next() ){
System.out.println( "书名:" + rs.getString ( "title" ) + "(定价:" + rs.getDouble( "price" ) + ")" );
}
rs.close();
st.close();
conn.close();
}
catch (Throwable t) {
t.printStackTrace( System.out );
}
finally {
try {
if (rs != null)
rs.close();
}
catch(Exception e) {}
try {
if (st != null)
st.close();
}
catch(Exception e) {}
try {
if (conn != null)
conn.close();
}
catch (Exception e){}
}
}
}
下面是错误:
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 SimpleTest.main(SimpleTest.java:16)
各位大哥大姐多谢了啊
而且前两天还成功过,但今天又突然不行了,很是郁闷问题如下:
环境:JDK1.5+SQL2000
关于SQL的jdbc 包我也已经安装过了
下面是我的程序(很简单的测试程序):
import java.sql.*;
public class SimpleTest{
public static final String drivername =
"com.microsoft.jdbc.sqlserver.SQLServerDriver";
public static final String url =
"jdbc:microsoft:sqlserver://192.168.0.6:1433;DatabaseName=pubs";
public static final String user = "sa";
public static final String password = "willfly";
public static void main( String[] args ){
String queryString = "SELECT title, price FROM TITLES";
Connection conn = null;
Statement st = null;
ResultSet rs = null;
try {
Class.forName( drivername );
conn = DriverManager.getConnection( url, user, password );
st = conn.createStatement();
rs = st.executeQuery( queryString );
while( rs.next() ){
System.out.println( "书名:" + rs.getString ( "title" ) + "(定价:" + rs.getDouble( "price" ) + ")" );
}
rs.close();
st.close();
conn.close();
}
catch (Throwable t) {
t.printStackTrace( System.out );
}
finally {
try {
if (rs != null)
rs.close();
}
catch(Exception e) {}
try {
if (st != null)
st.close();
}
catch(Exception e) {}
try {
if (conn != null)
conn.close();
}
catch (Exception e){}
}
}
}
下面是错误:
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 SimpleTest.main(SimpleTest.java:16)
各位大哥大姐多谢了啊
如果以前程序能用,现在不能用,那一定不是程序有问题。可能是网络出了问题,检查一下192.168.0.6机器上的数据库是否启动了。或者就是防火墙。
是网络错误多嘛!
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.(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 ldg.Quotation.InitDataConn(Quotation.java:374)
at ldg.Quotation.jbInit(Quotation.java:367)
at ldg.Quotation.(Quotation.java:147)
at ldg.spmk.jButton1_actionPerformed(spmk.java:76)
at ldg.spmk_jButton1_actionAdapter.actionPerformed(spmk.java:101)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
这类错误
我也碰到同样问题,打了sql server SP3包后仍然不起作用,后来发现Connection con=DriverManager.getConnection("jdbc:microsoft:sqlserver://server_name:1433","userName","password");
其中server_name用的是局域网IP,通过公网不能访问,我尝试改成公网可以访问的静态IP,当然数据库就装在这机器上,就可以了。
蒯正建 [email protected] 欢迎分享讨论