1.安装了Microsoft SQL Server 2000 Driver for JDBC sp3
2.配置了classpath
3.用以下代码连接sql server:
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance(); 
String url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb"; 
//mydb为数据库 
String user="sa";      //
String password=""; 
Connection conn= DriverManager.getConnection(url,user,password);user,password是不是在sqlserver里设置的Login啊??现在执行代码出现错误:
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:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at DatabaseTest$1.actionPerformed(DatabaseTest.java:68)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at DatabaseTest$1.actionPerformed(DatabaseTest.java:73)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)这儿这两个错误什么意思啊!   java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.
我查到:
MS SQL2000 (Error establishing socket)错误的解决办法-SQL请选用混和安装模式
混合安装模式是什么啊!!  java.sql.SQLException: No suitable driver  
我明明装了驱动了啊!!

解决方案 »

  1.   

    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.你把sql2000升级到sp4
    混合模式就是安装的时候设置的`~也就是可以用windows的用户名登陆~~也可以用数据库的用户名登陆
      

  2.   

    哦~~
    谢谢啊
    我刚升到了sp3
    现在错误变成
    java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection.java.sql.SQLException: No suitable driver了!!!!
      

  3.   

    谢谢啊!!!
    我升了SP4,并且用了混合安装模式,设了sa的密码
    现在第一个错误没了!!就剩java.sql.SQLException: No suitable driver错了!!救急啊!!!
      

  4.   

    我安装了Microsoft SQL Server 2000 Driver for JDBC sp3
    配置了classpath
    怎么会找不到驱动那????
      

  5.   

    安装了Micorsoft SQL Server 2000 Driver for JDBC,你还得把安装文件的三个文件(具体哪三个我记不太清楚了,反正就是.jar之类的文件)加到CLASSPATH能搜索的路径里面。三个都要加。
      

  6.   

    知道啊!
    我加了啊!
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
      

  7.   

    我还把这三个.jar文件放到C:\j2sdk1.4.2\jre\lib\ext里也试过了
    还是java.sql.SQLException: No suitable driver!!是不是要设置别的什么东西啊!!!
      

  8.   

    把三个文件加到放到classpath中了吗?
      

  9.   

    回复人: nantuan89124() ( ) 信誉:100  2005-08-10 10:36:00  得分: 0  
    知道啊!
    我加了到classpath里去了啊!(是不是我的电脑-属性-高级-环境变量里设啊??)
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;
    C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
      
     
      

  10.   

    这样设难道不对吗??:
    CLASSPATH=.\;%JAVA_HOME\lib\tools.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msbase.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\msutil.jar
      

  11.   

    在Java的路径设置里面,各种路径最好不要带空格,如"Program files",如果要的话,尽量用引号引起.