- PR -

SQLSever2000への接続

1
投稿者投稿内容
いも
常連さん
会議室デビュー日: 2003/03/16
投稿数: 37
投稿日時: 2004-07-06 14:41
SQLSever2000への接続するプログラムでコンパイルはできたのですが、実行しようとすると
D:\Documents and Settings\imo>java ConnectSql2k
java.lang.ClassNotFoundException: com.microsoft.jdbc.sqlserver.SQLServerDriver
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at ConnectSql2k.main(ConnectSql2k.java:6)
というエラーが出てしまいます。
jre\lib\extフォルダにmsutil.jar、mabase.jar、mssqlserver.jarファイルをコピーして追加ました。
コンパイルできあったクラスファイルへのパスがないという意味かなと思って、環境変数にCLASSPATHを作って、ConnectSql2k.classへのパスを指定しました。
データベースへの接続は初めてで原因がよくわからないので教えてください。
Cluster
ぬし
会議室デビュー日: 2003/03/06
投稿数: 289
お住まい・勤務地: 大阪
投稿日時: 2004-07-06 14:55
エラーの内容は、JDBCドライバのクラスが見つからない、ということです。
クラスパスに追加すべきは、自分で作ったクラスへのパスではなく、JDBCドライバの
jarファイルへのパスです。

ところで、作ってるものは普通のコンソールアプリでしょうか?
Webアプリなら、Servletコンテナによっては環境変数のクラスパスは無視されることがあるので注意してください。
uk
ぬし
会議室デビュー日: 2003/05/20
投稿数: 1155
お住まい・勤務地: 東京都
投稿日時: 2004-07-06 15:13
引用:

いもさんの書き込み (2004-07-06 14:41) より:
jre\lib\extフォルダにmsutil.jar、mabase.jar、mssqlserver.jarファイルをコピーして追加ました。


実際に使っているJavaコマンドが、そのJREに入っているものと別物ということはないですか?
Javaコマンドを絶対パスで指定して実行してみたらどうなるでしょうか。
いも
常連さん
会議室デビュー日: 2003/03/16
投稿数: 37
投稿日時: 2004-07-06 15:46
JDBCドライバのjarファイルへのパスを環境変数のパステキストに追加すると、プログラムが実行できるようになりました。
JAVAコマンドを絶対パスで実行しても、パステキストにjarファイルへのパスを追加しない状態では同じエラーで動きませんでした。
どうも有難うございました。
1

スキルアップ/キャリアアップ(JOB@IT)