我安装了JDBC后但总是和数据库(SQL Server 2000)连不上报下面的错误,我检查了半天都不知道是哪错了。请朋友们帮个忙,先谢了
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:199)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)Error Trace in getConnection() : com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at t060530.testtest.getCon(testtest.java:12)
at t060530.testtest.main(testtest.java:27)--------------------
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\msutil.jar;C:\Program Files\Microsoft SQL Server 2000 Driver for JDBC\lib\mssqlserver.jar;D:\JBuilderX\jdk1.4\lib\tools.jar;.JAVA_HOME:\JBuilderX\jdk1.4PATH:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;E:\UltraEdit-32;C:\Program Files\Microsoft SQL Server\80\Tools\BINN;D:\JBuilderX\jdk1.4\bin
=====================
代码:package t060530;import java.*;
import java.sql.Connection;public class testtest {public static void getCon() {
Connection con = null;
try {
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
con = java.sql.DriverManager.getConnection(
"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=MYDB", "sa",
"");
if (con != null) {
System.out.println("Connection Successful!");
}
} catch (Exception e) {
e.printStackTrace();
System.out.println("Error Trace in getConnection() : " + e.getMessage());
}
}public static void main(String arg[]){
testtest.getCon();
}
}-----------------
我的JDBC是安装在默认目录下(C:),JDK用的是JBuilderX自带的1.4, tomcat也是用JBuilderX自带的4.1
我实在不知道是哪错了,谢谢各位了!!!!

解决方案 »

  1.   

    哪个路径上的空格啊?我把那三个JAR包是不是应该放在JDK\jre\lib下面啊?晕死了。
      

  2.   

    我JBuilder设置了,就是把那三个JAR文件进去了,现在到好去行又报这个错了:
    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 test.testDB.getCon(testDB.java:14)
    at test.testDB.main(testDB.java:49)这是怎么回事啊
      

  3.   

    你要把sp3 i布丁打上就好了
      

  4.   

    对,要打上sql2k3补丁,另外注意你的防火墙别禁止了1433端口和SQL服务器的相关进程。
      

  5.   

    补丁我也打了,三个JAR也放到jdk1.4\jre\lib下面了,但还是报
    StandardWrapperValve[debugjsp]: Servlet.service() for servlet debugjsp threw exceptionjavax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.javax.servlet.ServletException: [Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket. at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:471) at org.apache.jsp.yunjsp$jsp._jspService(yunjsp$jsp.java:78) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:201) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473)
    这个错,在网上查,有人说是URL的问题说要改成Connection    con=java.sql.DriverManager.getConnection(    "jdbc:microsoft:sqlserver://服务器的ip;DatabaseName=MYDB","sa","");我打出LOG,问题确实是出在
    Connection con=java.sql.DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:8080;DatabaseName=MYDB","sa","");这段代码上面,可是我不知道他说的服务器的IP是指的哪个IP,从哪能查到呢?是上Internet的那个IP吗?急啊,大家帮个忙了。
      

  6.   

    不是
    jdk1.4\jre\lib
    而是
    JDK1.4\jre\lib\ext
      

  7.   

    "jdbc:microsoft:sqlserver://127.0.0.1:8080;DatabaseName=MYDB","sa",""端口应该是1433,而不是8080