0

我试图用我的 MS SQL express 连接 java,我也下载了 sqljdbc4.jar

当我不打扰 CLASSPATH 时,我尝试执行我的程序(即使使用 sqljdbc

C:\Program 文件 (x86)\Java\jre6\lib

我收到以下错误

java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at Connect.getConnection(Connect.java:24)
    at Connect.displayDbProperties(Connect.java:42)
    at Connect.main(Connect.java:78)

getConnection() 中的错误跟踪:com.microsoft.jdbc.sqlserver.SQLServerDriver 错误:没有活动连接

但是,如果我尝试将 CLASSPATH 变量设置为指向 sqljdbc4.jar,那么 ClassNotHoundExcepetion 会在识别我的类名时发生。

需要立即帮助。请回复。

我使用命令行模式调用它,我尝试在 Windows 7 的系统变量对话框中设置类路径。当我这样做或使用 set CLASSPATH="C:\temp\sqljdbc4.jar" 时,jre 无法识别我的程序的主类并抛出

Exception in thread "main" java.lang.NoClassDefFoundError: Connect
Caused by: java.lang.ClassNotFoundException: Connect
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

找不到主类:连接。程序将会退出。

所以我在这里不知所措。

4

2 回答 2

0

您应该设置类路径以包含 sqljdbc4.jar 文件。在此处查看详细信息。

于 2012-06-07T11:15:19.560 回答
0

你的问题是因为类加载器没有找到驱动jar,你如何启动你的程序?你有没有-cp或者-classpath如果它是命令行?或者如果 web 应用程序添加到 lib 文件夹?

于 2012-06-07T10:52:27.200 回答