- ベストアンサー
oracle.jdbc.driverのインストールについて
MicoroSoftアクセスをデータベースにして作ったプログラムをオラクルデータベースを使っているサーバーにアップしてほしいと言われています。ソースはオラクルに接続できるように書き換えたのですが、「パッケージ oracle.jdbc.driver は存在しません。」というコンパイルエラーが出ました。私の環境では、オラクルはインストールしていないので当然なのですが、知人に教えてもらいjcbc817jdk12-ntというZIPファイルとnls_charset12というZIPファイルをダウンロードしてみたものの、これをどこに入れてコンパイルしていいのか分かりません。そもそも、私の環境でコンパイルしたクラスファイルをそのままオラクル環境にあるサーバーにアップした場合パスは通っているのでしょうか?未だクラスパスについて理解が乏しく悩んでいます。本当に初心者なので、出来るだけ詳しく教えてください。よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
おそらく、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のバージョンなどに問題がなければ)
その他の回答 (1)
- yakumon
- ベストアンサー率35% (22/62)
Javaの起動オプションにclasspathを指定すればどうでしょうか? java -classpath ~/nls_charset12.zip 実行したいクラス 例) java -classpath ${ORACLE_HOME}/jdbc/lib/nls_charset12.zip myClass