- PR -

Apache-SOAPを用いたJDBC経由によるMSSQLServerへのアクセス

1
投稿者投稿内容
Nicks
会議室デビュー日: 2002/11/29
投稿数: 4
投稿日時: 2002-11-29 16:04
初めて投稿させていただきます。
Apache-SOAPからJDBC経由でMS SQLServer2000への接続し、
クエリを実行しようと試みてみたのですが、エラーが出てうまくいきませんでした。
しかしながら通常のApache-SOAPを介さず直接DBへ接続する環境でのアクセスでは、
成功したのを確認しています。

エラーの内容としましては、Apache-SOAPにdeployしたクラスの
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
というところで、ClassNotFoundExceptionになってしまいます。
クラスパスの設定は以下のとおりです。

export JAVA_HOME=/usr/java/j2sdk1.4.0_01
export CATALINA_HOME=/usr/local/jakarta-tomcat-4.1.12
export CLASSPATH=.:/etc/xerces/xerces.jar:/etc/soap/lib/soap.jar:$JAVA_HOME/jre/lib/ext/postgresql.jar:$CATALINA_HOME/common/lib/mail.jar:$CATALINA_HOME/common/lib/activation.jar:/usr/local/mssqlserverj/lib/msbase.jar:/usr/local/mssqlserverj/lib/mssqlserver.jar:/usr/local/mssqlserverj/lib/msutil.jar

エラーの内容からクラスパスの設定が原因と考えたのですが何が問題なのか結局わかりませんでした。どなたか解決法をおわかりになる方がいらっしゃればご教授願います。

以下の環境で実験しました。

クライアント(SOAP)側:

OS:VineLinux2.5(カーネル2.4.18-0v13)
Apache1.3.26
Tomcat4.1.12
Apache-SOAP2.3
J2SDK1.4.0_01
JDBCドライバ:Microsoft SQL Server 2000 Driver for JDBC(2.2.0019)

データベース側:

OS:Windows2000Server
DBMS:SQLServer2000
iakio
会議室デビュー日: 2002/11/28
投稿数: 13
投稿日時: 2002-11-29 16:35
そのような環境を触ったことがないのでカンですが、
jdbc ドライバを $TOMCAT_HOME/lib/ あたりにコピーしてみてはどうでしょう?

> クラスパスの設定は以下のとおりです。
この設定はどこでどのように設定しているのでしょうか?
Nicks
会議室デビュー日: 2002/11/29
投稿数: 4
投稿日時: 2002-11-29 22:45
ご返答誠にありがとうございます。
早速、週明けに試してみたいと思います。

クラスパスの設定は.bashrcに記述して行っております。
他に何か、Apache-SOAPを用いて行うことの出来る、
MSSQLServerへの良い接続方法などありませんでしょうか?
Nicks
会議室デビュー日: 2002/11/29
投稿数: 4
投稿日時: 2002-12-02 10:47
>jdbc ドライバを $TOMCAT_HOME/lib/ あたりにコピーしてみてはどうでしょう?

$CATALINA_HOMEにはlibというディレクトリがなかったので、
$CATALINA_HOME/common/libにコピーして、そのディレクトリに
コピーしたJDBCドライバのjarファイルへクラスパスを変更してみたのですが、
やはりClassNotFoundExceptionが返されてしまいます。
どうか、他に良い方法がありましたらご教授願えませんでしょうか?
Nicks
会議室デビュー日: 2002/11/29
投稿数: 4
投稿日時: 2002-12-02 11:22
自己レスです。
リブートしたところiakio様のおっしゃったとおりに、接続できました。
iakio様ご教授まことにありがとうございました。
1

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