2012-02-22 15 views
1

ここで初心者質問...アプリケーションサーバーのJavaプログラムを別のサーバーのOracle 11Gデータベースに接続するには、JDBCドライバを選択する必要があります。両方のサーバーはLinux CentOSで、相互に物理的に隣り合っていて、相互接続イーサネットケーブルで接続されています。私はOracle RACをやっていません。ここで同様のポストがあります、参考のためLinuxアプリケーションサーバー用のOracle JDBCドライバの選択について

http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html

Oracleのウェブサイトは、利用可能なオプションを示します

Which JDBC driver type should I use for accessing an Oracle Database?

私の目標は、より具体的である:の中から選択した1次の(JDK 1.6)のドライバ?

ojdbc6.jar (Classes for use with JDK 1.6. It contains the JDBC driver classes 
      except classes for NLS support in Oracle Object and Collection types) 
ojdbc6_g.jar (Same as ojdbc6.jar except compiled with "javac -g" and contains 
       tracing code) 
ojdbc6dms.jar (Same as ojdbc6.jar, except that it contains instrumentation to 
       support DMS and limited java.util.logging calls) 
ojdbc6dms_g.jar (Same as ojdbc6_g.jar except that it contains instrumentation to 
       support DMS) 

Q1:Oracleは「JDBC Thin」ドライバ(またはOCIの「厚い」ドライバ)と呼んでいますか?

Q2:これらはすべてタイプ4のドライバですか?

Q3:これらはすべて無料です(Oracle 11gデータベースライセンスを購入したと仮定します)。

Q4:コンパイル時間が問題ではないと仮定すると、特に-gコンパイルオプション(デバッグに便利)をオフにすることができるので、_g.tarファイルのすべてが優先されるわけではありません生産されたコードのために)?あるいは、私が生産に行くとき、ドライバを非_gファイルに切り替えるべきですか(ojdbc_g.jarをojdbc.jarに置き換えるなど)?

Q5:NLS、またはOracleオブジェクトとコレクションの型またはDMSが参照するものがわからない場合もあります。これらのコンセプトをサポートするためのドライバーが有用なときにアドバイスをいただければ幸いです。

答えて

2

A1。はい。 JDBC Thin。 OCIバージョンは、Instant Clientに関連しており、プラットフォーム固有のバージョンです。

A2。はい。これらはプラットフォームに依存せず、単にプラグアンドプレイを行うだけです。

A3。はい。 DBライセンスがなくても使用できます。実際、あなたはOTNのライセンスをダウンロードすることに同意します:)

A4。 _gは開発時に便利です。さもなければ、最初のものにとどまってください。

A5。 NLSは、国際化サポートを指します。オブジェクトやコレクションに対するNLSサポートのクラスは存在しませんが、クライアントとDBの間で行われる何らかの種類のデータに関する特定の要件にのみ使用されます。 DMSはDynamic Monitoring Metricsを指し、これらも非常に特殊です(ドライバの一般的な使用では推奨されません)

+0

ありがとうAlfabravo! A4版では、開発と生産に同じサーバーを使用すると、ojdbc6.jarとojdbc6_g.jarの両方をサーバーにダウンロードして、Javaコードを変更して2つの間で選択することはできますか?または、サーバーごとに1つのドライバしか許可されていませんか? – ggkmath

+0

ドライバは、クラスを持ったJARであり、ソケットを確立してリクエストを渡す準備ができています。それらをWebプロジェクトまたはWebサーバー/コンテナの両方に置くことはできますが、クラスパス上のいずれかを参照するだけで、DB接続で必要なものを使用できます。それらをあなたのプロジェクトライブラリの両方に含めると、クラスキャスト例外などが出る可能性があります – Alfabravo

+0

Javaプログラム内のjarファイルへの絶対パスをハードコードすることは可能ですか(私はjarファイルを記述する必要があると仮定していますJDBCを使用するように設定するJavaプログラムで) – ggkmath

関連する問題