数据库程序如下:
package jdbctest;
import java.sql.*;
import javax.sql.*;
import java.util.*;public class SQLJdbcTest {
  public static void main(String[] args) {
    try{
      Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
      String url =
          "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test";
      String user = "db";
      String password = "11";
      System.out.println("i have load the class");
      Connection conn = DriverManager.getConnection(url, user, password);
      System.out.println("I succeed!");
    }catch(Exception e)
    {
      e.printStackTrace();
    }  }
}
JBuilder中已配置好MSSQL的JDBC驱动包,且在JBuilder中运行毫无问题,生成可执行文件时排除了那三个驱动包加入JAR包,但我已在classpath中设置了那三个包的路径,执行此文件时仍提示无法找到
com.microsoft.jdbc.sqlserver.SQLServerDriver,是何原因,望高手解答。

解决方案 »

  1.   

    ?????????
    三个驱动包加入JAR包
      

  2.   

    楼主,你先不用jbuilder,进控制台运行一下,看看你的classpath有没有问题先
      

  3.   

    当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误。实际上这是由于当使用-jar参数运行的时候,java VM会屏蔽所有的外部classpath,而只以本身yourJarExe.jar的内部class作为类的寻找范围。
    解决:
    1.将MSSQL的JDBC驱动包,复制在同可执行jar所在的目录或某个子目录下. 比如:jar 包在 /usrhome/yourJarExe.jar 那么你可以把MSSQL的JDBC驱动包复制到/usrhome目录下或/usrhome/lib 等类似的子目录下. 2.修改Manifest 文件
     在Manifest.mf文件里加入如下行
     Class-Path:classes12.jar lib/thirdlib.jar
     Class-Path 是可执行jar包运行依赖的关键词.详细内容可以参考 http://java.sun.com/docs/books/tutorial/ext/index.html