0

JavaをMy MS SQL Expressに接続しようとしましたが、sqljdbc4.jarもダウンロードしました

CLASSPATH などを気にせず、プログラムを実行しようとすると ( sqljdbc を使用しても)

C:\Program Files (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のシステム変数ダイアログボックスでクラスパスを設定しようとしました。それを行うか、 setCLASSPATH="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)

メイン クラスが見つかりませんでした: Connect。プログラムは終了します。

だから私はここで途方に暮れています。

4

2 に答える 2

0

sqljdbc4.jar ファイルが含まれるようにクラスパスを設定する必要があります。詳細はこちらをご覧ください。

于 2012-06-07T11:15:19.560 に答える
0

クラスローダーがドライバーjarを見つけられなかったために問題が発生しました。プログラムをどのように起動しますか? -cpまたは-classpathそれをコマンドラインに入れましたか?または、Web アプリケーションの場合は lib フォルダーに追加しますか?

于 2012-06-07T10:52:27.200 に答える