基本上环境已经配置好了
而且前两天还成功过,但今天又突然不行了,很是郁闷问题如下:
环境: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)
各位大哥大姐多谢了啊

解决方案 »

  1.   

    up for u.
    如果以前程序能用,现在不能用,那一定不是程序有问题。可能是网络出了问题,检查一下192.168.0.6机器上的数据库是否启动了。或者就是防火墙。
      

  2.   

    把IP换localhost trytry
    是网络错误多嘛!
      

  3.   

    你是Windows2000的系统吗?要打上sp3。
      

  4.   

    Error establishing socket你的系统肯定是XP,要打补丁
      

  5.   

    操作系统是xp,升级到sp2,发现jdbc连接不了sqlserver,报错不能连接,后来我下载了sqlserver sp3,安装的时候总是提示sa密码不正确,后来我登陆微软网站,找到关于sqlserver sp3的帮助文档,发现原来我电脑中的用户环境变量没有设置TEMP和TMP,设置后,update sqlserver sp3成功,然后jdbc连接也正常。
      

  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] 欢迎分享讨论
      

  7.   

    多数是你操作系统打了补丁,mssql没打补丁。此问题我碰过。