こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

oracle.jdbc.driverのインストールについて

MicoroSoftアクセスをデータベースにして作ったプログラムをオラクルデータベースを使っているサーバーにアップしてほしいと言われています。ソースはオラクルに接続できるように書き換えたのですが、「パッケージ oracle.jdbc.driver は存在しません。」というコンパイルエラーが出ました。私の環境では、オラクルはインストールしていないので当然なのですが、知人に教えてもらいjcbc817jdk12-ntというZIPファイルとnls_charset12というZIPファイルをダウンロードしてみたものの、これをどこに入れてコンパイルしていいのか分かりません。そもそも、私の環境でコンパイルしたクラスファイルをそのままオラクル環境にあるサーバーにアップした場合パスは通っているのでしょうか?未だクラスパスについて理解が乏しく悩んでいます。本当に初心者なので、出来るだけ詳しく教えてください。よろしくお願い致します。

投稿日時 - 2002-12-25 23:54:08

QNo.435884

困ってます

質問者が選んだベストアンサー

おそらく、classpathについては過去にも説明されていると思いますが。。。

classpathというのは、コンパイル時や実行時に、javaコンパイラ(javac)
javaインタプリタ(java)がクラスを検索するときのパスです。
例えば、Foo.javaというファイルの中身が

public Foo {
 public boo() {
  Goo goo = new Goo();
 }
}

といった場合、それをコンパイル/実行しようとしても、
コンパイラやインタプリタはこのGooというものが何者なのか
分かりません。
そのときに、コンパイラやインタプリタは、classpathに設定されている
パスを調べてGooが何者かを知ろうとします。

このとき、classpath上にGoo.classというクラスファイルが存在しない
場合には、「クラスが見つかりません」などといったメッセージが出力
されることになります。。。


> これをどこに入れてコンパイルしていいのか分かりません。

これについては、jdbc817jdk12-nt.zipの中に入っている
classes12.zipとnls_charset12.zipをclasspathに設定して
コンパイルします。

javac -classpath xxx/classes12.zip;xxx/nls_charset12.zip Foo.java
 xxxはzipファイルがあるディレクトリ

あるいは、
set CLASSPATH=xxx/classes12.zip;xxx/nls_charset12.zip;%CLASSPATH%;
として、環境変数CLASSPATHに設定してから
javac Foo.java
と実行

> 私の環境でコンパイルしたクラスファイルをそのままオラクル環境にある
> サーバーにアップした場合パスは通っているのでしょうか?

これは分かりません。
確かOracleのインストール時に、CLASSPATHは自動的に設定されなかったと
記憶していますから、パスは通っているかという質問については、
「誰かが上記のようにクラスパスにJDBCドライバを通していれば」
パスが通っているでしょうし、誰も設定していなければ通っていないでしょう。

なお、パスが通っているという前提で、
「コンパイルしたクラスが実行できるか?」
というのなら、実行できるはずです。
(コンパイル環境と、サーバ環境でJDKのバージョンなどに問題がなければ)

投稿日時 - 2002-12-26 21:11:11

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Javaの起動オプションにclasspathを指定すればどうでしょうか?

java -classpath ~/nls_charset12.zip 実行したいクラス

例)
java -classpath ${ORACLE_HOME}/jdbc/lib/nls_charset12.zip myClass

投稿日時 - 2002-12-26 12:38:24

あなたにオススメの質問