要用sqljdbc.jar(227kb)這一個驅動文件訪問jdbc:sqlserver://192.168.0.168;databaseName=CSDN 
這個數據庫
用winrar打開sqljdbc.jar\com\microsoft\sqlserver\jdbc下有若干類,
其中有SQLServerDriver.class,
光這一個驅動就夠用了吧?sqljdbc.jar保存在c盤,環境變量-系統變量-classpath裡加了c:\sqljdbc.jar,結果運行程序總是出錯。
程序如下:
package sql;
import java.sql.*;
public class Load {
public static void main(String args[]){ String  sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";
try{
Class.forName(sDBDriver); String sConnStr="jdbc:sqlserver://192.168.0.117;databaseName=Northwind";
String name="sa";
String pwd="admin";
Connection connWeb=DriverManager.getConnection(sConnStr,name,pwd);
Statement st=connWeb.createStatement(); 
String query="select * ";
ResultSet rs=st.executeQuery(query);
System.out.println(rs.toString());
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
運行java Load
錯誤如下:
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at sql.Load.main(Load.java:8)
怎麼辦?

解决方案 »

  1.   

    ms sqlserver 的驱动jar包好像不只一个.
      

  2.   

    你们什么老师误人子弟。从这一句com.microsoft.jdbc.sqlserver.SQLServerDriver可知你用的应该就是微软的jdbc驱动而不是第三方的驱动,而微软的jdbc驱动有三个:
    msbase.jar,mssqlserver.jar,msutil.jar
    去百度搜一下会有很多
      

  3.   

    你别放到C盘了,放到你的jdk的classpath里面去,比方说.%JAVA_HOME%\lib\sqljdbc.jar;试一下,如果还不行的话,可能就是楼上的说得
      

  4.   

    可能的原因
    1.SQL SERVER是否打上了sp4的补丁包
    2.3个jar是否在classpath中
    3.是不是防火墙把1433端口禁用了
    4.SQL SERVER是不是混合模式