25 データベースへの接続と使用
この章の内容は次のとおりです。
データベースへの接続と使用について
JDeveloperから、Oracleデータベースと、Oracle以外の様々なデータベースに接続して操作できます。
データベース接続は、「アプリケーション」ウィンドウまたは「データベース」ウィンドウ(作業中のアプリケーションに対して使用できる)で、あるいは「リソース」ウィンドウ(他のアプリケーションで再利用できる)で使用できます。
データベース接続を作成すると、次の操作が可能になります。
-
データベース・オブジェクトの参照
-
特定のデータベース・オブジェクトの検索
-
データのインポートとエクスポート
-
データベース・スキーマ間でのデータベース・オブジェクトのコピー
-
データベース・スキーマどうしの比較
-
1つ以上のデータベース・タイプの一部または全部のオブジェクトの、DLLファイルファイルへのエクスポート
-
事前定義済のレポートを使用、および新規レポートを作成し、データベースとそのオブジェクトに関する情報を提供
初めてJDeveloperでデータベースを使用する場合、Oracle Database Express Edition (Oracle Database XE)の使用をお薦めします。詳細は、「Oracle Database Express Editionのスタート・ガイド」を参照してください。
データベース接続の設定
JDeveloperからデータベースに接続する方法を学習します。
「データベース接続の作成」ダイアログを使用して、外部データソースへの接続を定義し管理できます。データベース接続は次の場所に表示されます。
-
「リソース」ウィンドウ: 接続をカタログに追加すると、共同作業や複数のアプリケーションへの公開が可能です。
-
「データベース」ウィンドウ: データベースのオブジェクトを作成、編集および変更できます。
-
「アプリケーション」ウィンドウの「アプリケーション・リソース」パネル: 現在のアプリケーションで接続を使用できます。
接続を削除する際、JDeveloperではこの接続に依存しているプロジェクトがあることを知らせる警告は表示されません。このため、接続の削除には注意が必要です。
接続の有効範囲
JDeveloperでは、データベース接続の作成と管理に2つの方法があります。データベース接続をアプリケーションに対して定義する(アプリケーション・リソース接続)ことも、IDE全体に対して定義する(IDE接続)こともできます。どちらの定義にも同じダイアログを使用しますが、JDeveloperにおけるその有効範囲は異なります。
最初にデータベース接続を作成するときに接続の有効範囲を選択し、その後変更することはできません。
データベース接続の作成時に行われる処理
データベース接続を作成すると、JDeveloperでは「データベース」ウィンドウに接続のノードが作成され、接続の有効範囲に応じて「リソース」ウィンドウか「アプリケーション」ウィンドウの「アプリケーション・リソース」パネルにノードが追加されます。
JDeveloperがチームで使用するように構成されている場合は、チーム・レベルのデータベース接続も使用できます。
「アプリケーション」ウィンドウと「データベース」ウィンドウでは、データベース接続ノードを展開して、データベース・オブジェクトを表示および使用できます。「リソース」ウィンドウでは、データベース接続をアプリケーションに追加して初めてその接続が使用できるようになります。
アプリケーション・リソースとして作成されるデータベース接続
アプリケーション・リソースとして作成されるデータベース接続は、それが作成されたアプリケーションでのみ使用できます。
「データベース」ウィンドウでは、アプリケーションと同じ名前のノードの下に接続のノードがあります。
「アプリケーション」ウィンドウでは、「アプリケーション・リソース」パネルの「接続」の下に接続のノードがあります。connections.xml
に格納される接続情報は、「ディスクリプタ」ノードの下のADF META-INFの下にあります。これをダブルクリックするとXMLエディタでファイルが開き、ファイル名の上にマウス・カーソルを置くとファイルのパスがわかります。
接続ディスクリプタ定義情報のファイル・システム上の場所はapplication_folder/.adf/META-INF/connections.xml
で、application_folder
は選択したアプリケーションのパスです。
IDE接続として作成されるデータベース接続
これらは、グローバルに定義されるデータベース接続です。
IDE接続を「アプリケーション」ウィンドウにコピーすると、次のようにしてアプリケーションで使用できます。
-
「リソース」ウィンドウから接続をドラッグし、「アプリケーション」ウィンドウの下の「アプリケーション・リソース」にある「接続」ノードにドロップします。
-
「リソース」ウィンドウで接続を右クリックし、「アプリケーションに追加」を選択します。
-
「データベース」ウィンドウで、「IDE接続」ノードからアプリケーションのノードの下にある「アプリケーション接続」ノードに接続をドラッグします。
接続ディスクリプタ定義情報のファイル・システム上の場所はsys-dir/jdeveloper/system11.1.x.x.nn.nn.nn/o.jdeveloper.rescat2.model/connections/connections.xml
です。
接続プロパティのデプロイについて
JDeveloperのデプロイにはconnections.xml
ファイルが含まれ、アプリケーションでは.adf\META-INF.
フォルダにこのファイルがあります。このファイルには、デプロイと実行時の接続の実行に必要な接続情報が格納されています。
様々なドライバの使用
一部のタイプのデータベース接続の場合、使用可能な複数のドライバから選択できます。たとえば、図に示すように、「DB2 UDB」を選択した場合、使用可能なドライバのいずれかを選択できます。
OCI8によるOracle Databaseへの接続
Oracle Databaseに接続するとき推奨されるのはシン・ドライバを使用する方法ですが、OCI8 (Thick接続)を使用して接続することも可能です。
OCI8を使用して接続するには:
-
システム・プロパティ
jdbc.library
を使用して、jarの場所を定義します。次に例を示します。jdev -J-Djdbc.library=/jdev_install/jdeveloper/ojdbc6.jar
データベース接続の編集方法
データベース接続を編集するには:
- 「ウィンドウ」→「データベース」→「データベース」を選択します。
- 「IDE接続」またはアプリケーションを展開し、データベース接続を選択します。
- 接続を右クリックして「プロパティ」を選択し、「データベース接続の編集」を開きます。詳細は、[F1]キーを押すか、「データベース接続の作成」ダイアログから「ヘルプ」をクリックします。
ノート:
どのスキーマが接続に表示されるかをフィルタすることもできます。
データベース接続のエクスポートとインポートの方法
次のように、データベース接続をインポートおよびエクスポートできます。
データベース接続のエクスポート
接続をエクスポートすると、選択した接続ディスクリプタがXMLファイルにコピーされます。他のユーザーは、このファイルをインポートして簡単に接続を作成できます。
データベース接続をエクスポートするには:
IDE接続であるデータベース接続を含めて接続をエクスポートするには、「リソース」ウィンドウを使用する方法もあります。詳細は、「カタログと接続のインポートとエクスポート」を参照してください。
データベース接続のインポート
以前にエクスポートした接続ディスクリプタをインポートできます。
データベース接続をインポートするには:
- 「ウィンドウ」→「データベース」→「データベース」を選択します。
- 「IDE接続」またはアプリケーションを右クリックして「接続のインポート」を選択します。
- 「接続のインポート」ウィザードの「ソース・ファイル」ページで、エクスポートした接続ファイルのファイル名を入力するか、「参照」をクリックしてファイルを探し、「次へ」をクリックします。詳細は、[F1]を押すか、「ヘルプ」をクリックしてください。
- ウィザードの「パスワード処理」ページでは、エクスポート・ファイルの接続パスワードの暗号化にパスワードが使用された場合、ここでそのパスワードを入力します。それ以外の場合、「エクスポートした接続からすべてのパスワードを削除」を選択します。「次へ」をクリックします。
- ウィザードの「接続の選択」ページで、情報をインポートする接続を選択します。「次へ」をクリックします。
- 「サマリー」ページには、インポートされる接続の情報の概要が表示されます。「終了」をクリックします。
データベース接続を含めて接続をインポートするには、「リソース」ウィンドウを使用する方法もあります。詳細は、「カタログと接続のインポートとエクスポート」を参照してください。
データベース接続のオープンとクローズの方法
JDeveloperですでに定義されているデータベース接続に手動で接続する、または手動でデータベース接続を切断できます。
データベース接続を開くには:
-
「ウィンドウ」→「データベース」→「データベース」を選択します。
-
「IDE接続」またはアプリケーションを展開し、データベース接続を選択します。
-
ノードを開きます。
あるいは、クローズしている接続を右クリックして「接続」を選択する方法もあります。
データベース接続を閉じるには:
- 「ウィンドウ」→「データベース」→「データベース」を選択します。
- 「IDE接続」またはアプリケーションを展開し、データベース接続を選択します。
- 接続を右クリックし、「切断」を選択します。
データベース接続の削除方法
接続を削除すると、その接続は「データベース」ウィンドウおよびJDeveloperから削除されます。
接続を削除するときに、JDeveloperは、その接続に依存するプロジェクトが存在する可能性があることを警告しません。そして、アプリケーションやプロジェクトのみでなく、すべてのJDeveloperから接続を削除します。接続を削除する場合は、細心の注意を払う必要があります。
データベース接続を削除するには:
- 「ウィンドウ」→「データベース」→「データベース」を選択します。
- 「IDE接続」またはアプリケーションを展開し、削除するデータベース接続を選択します。
- 接続を右クリックし、「削除」を選択します。
- 確認ダイアログで、「はい」をクリックします。
新規のサード・パーティ製JDBCドライバの登録方法
DB2、Informix、SQL ServerおよびSybase用のサード・パーティ製JDBCドライバを使用する予定の場合は、そのドライバをJDeveloperに登録する必要があります。これにより、接続を定義するときに、そのドライバが使用できるようになります。
新規のサード・パーティ製JDBCドライバを登録するには:
また、「データベース接続の作成」ダイアログを使用中の場合、ダイアログから移動せずにサード・パーティ製のJDBCドライバを登録できます。「接続タイプ」として「汎用JDBC」を選択し、「新規」をクリックして「JDBCドライバの登録」ダイアログを開くと、ドライバのクラス名とライブラリが示されます。
Oracle以外のデータベースのユーザー・ライブラリを作成する方法
Oracle以外のデータベースに接続するには、最初にJDBCドライバを含んだライブラリを作成する必要があります。
ユーザー・ライブラリの作成後に、データベース接続を作成できます。
ユーザー・ライブラリを作成するには:
- 「ツール」→「ライブラリの管理」を選択します。
- 「ライブラリの管理」ダイアログの「ライブラリ」タブをクリックし、「ユーザー」ノードを選択して「新規」をクリックします。
- 「ライブラリの作成」ダイアログで、ライブラリ名を入力し、「クラスパス」ノードを選択して「エントリの追加」をクリックします。「パス・エントリの選択」ダイアログで、接続先データベース用のドライバの場所を参照します。ドライバ・ファイルを選択し、「選択」をクリックします。
- 同様に、「ライブラリの作成」ダイアログでライブラリ名を入力し、「ソースパス」ノードを選択して「エントリの追加」をクリックします。「パス・エントリの選択」ダイアログで、接続先データベース用のドライバの場所を参照します。ドライバ・ファイルを選択し、「選択」をクリックします。
- 「ライブラリの作成」ダイアログで「OK」をクリックし、「ライブラリの管理」ダイアログで「OK」をクリックします。
ライブラリには、Oracle以外のデータベースへの接続を作成する際に選択できるJDBCドライバが含まれます。
リファレンス: OracleのType 2 JDBCドライバ(OCI)に対する接続要件
OracleのJDBC/OCIドライバを使用して接続を作成する場合は、次のプラットフォーム固有の要件に注意してください。
-
システム固有のライブラリ(Windowsでは
.dll
ファイル、UNIXでは.so/.sl
ファイル)が必要です。OracleのType 2ドライバ(JDBC/OCI)では、JDBCドライバのバージョンがOracleホームのバージョンと一致している必要があります。たとえばOracle JDBC Driverバージョン11の場合、Oracleホームにバージョン11の
ocijdbc11.dll
と、Oracle Networkソフトウェアおよび必須のサポート・ファイルが含まれている必要があります。ドライバは、JDBCドライバのダウンロード・ページ(
http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html
)からダウンロードできます。使用しているJDBCドライバと異なるバージョンのローカル・データベースに接続する場合は、Oracleクライアント・ソフトウェアを別のOracleホームにインストールし、Oracle Net Listenerを介して接続する必要があります。
-
システムに必須の固有ライブラリのクライアント側ファイルが格納される
ORACLE_HOME
ディレクトリは、PATH環境変数にリストされている必要があります。-
Windowsの場合: PATH環境変数で、クライアント側DLLファイルが存在する%
ORACLE_HOME%\bin
ディレクトリをリストします。マシンに複数のOracleホームがインストールされている場合は、Oracleホーム切替えユーティリティを使用して、正しいOracleホームを選択します。 -
UNIXの場合: クライアント側
.so/.sl
ファイルが格納される\{ORACLE_HOME\}/lib
ディレクトリを、PATH環境変数に追加します。
-
-
OCIドライバ用のOracleホームと、JDeveloperがインストールされているOracleホームが異なる場合は、
ORACLE_HOME
環境変数を設定する必要があります。 -
OCIドライバ用のOracleホームと、JDeveloperがインストールされているOracleホームが異なり、
java.library.path
にリストされているもの以外のOCIドライバを持たない場合は、{$ORACLE_HOME}/jdeveloper/jdev/bin/jdev.conf
で次のような行を編集し、その中のパスをOracleホームへのフルパスに置き換えます。Windowsの場合:
AddNativeCodePath C:/ORACLE/ORAnn/BIN
UNIXの場合:
AddNativeCodePath /u01/app/oracle/product/n.n.n/lib
AddNativeCodePath
は、Java VMが共有ライブラリを検索する際に使用するディレクトリ名をjava.library.path
に追加します。ノート:
AddNativeCodePath
はディレクトリをパスに追加するだけなので、すでにPATH
環境変数にOCIドライバ・パスが存在する場合は、AddNativeCodePath
を使用してPATH
を編集するかわりに、ORACLE_HOME
を設定します。
データベースの参照および検索
データベース・オブジェクトの参照、検索および結果のフィルタについて学習します。
表示するデータソースの量と表示方法、データベース・オブジェクトの検索方法を制御できます。
データベースの参照
オンライン・データベースおよびオフライン・データベース・オブジェクトを参照できます。
オンライン・データベースの参照
オンライン・データベースを参照するには、「データベース」ウィンドウでアクセス可能なJDBC接続をオープンします。
JDBC接続では、PL/SQLオブジェクトおよびブロックと、そのオブジェクトを実装するJavaクラスへのアクセスが許可されます。どのデータベースも参照できますが、全種類のデータベース・オブジェクトにアクセスできるのはOracle Databaseのみです。
データベース接続は、「データベース」ウィンドウ内の「IDE接続」ノードの下またはアプリケーションのノードの下に表示されます。データベース・スキーマを表示するには、接続を開きます。デフォルトで参照できるのは、その接続で識別されたユーザーのスキーマのみです。ユーザーに必要な権限があれば、他のスキーマも参照できます。スキーマを開くと、そのスキーマに組み込まれているオブジェクト・タイプのノードが表示されます。ノードを開くとその中のオブジェクトが個別に表示されます。最下位ノードまで開いた後に、オブジェクトをダブルクリック(または右クリックして「開く」を選択)すると、そのオブジェクトの内容が表示されます。また、オブジェクトのタイプによっては、オブジェクトの構造も構造ペインに表示されます。
オンラインおよびオフラインのデータベース・オブジェクトを表示する方法
次のようにデータベース・オブジェクトを表示できます。
-
リアルタイム接続(オンライン・データベース)を通してデータベース・オブジェクトを表示するには、「データベース」ウィンドウを使用します。
-
オフライン・データベース・オブジェクトを表示するには、「アプリケーション」ウィンドウを使用します。
プロジェクト(「アプリケーション」ウィンドウから表示)内のデータベース・オブジェクトに対する変更は、稼働中のデータベースに対して調整されますが、調整が終わるまで、オフライン・データベースの変更がオンライン・データベースに影響を与えることはありません。
「アプリケーション」ウィンドウまたは「データベース」ウィンドウを開くには:
オンライン・データベース・オブジェクトの参照方法
オンライン・データベースに対するJDBC接続を介して、スキーマと、スキーマに含まれるオブジェクトを参照できます。
稼働中のデータベース接続を参照するには:
- 「表示」→「データベース」→「データベース」ウィンドウを選択します。
- 接続を展開して使用可能なスキーマを表示します。
- スキーマを開いて、表示可能なすべてのオブジェクト・タイプを表示します。
- 必要に応じて、接続、スキーマ、データベース・オブジェクトのタイプ・レベルにフィルタを適用します。
ノート:
デフォルトでは、Oracleデータベースのごみ箱にあるオブジェクトが除外されるように、フィルタが表に設定されています。
オフライン・データベースおよびスキーマの参照方法
「アプリケーション」ウィンドウでオフライン・データベースおよびスキーマを参照し、オフラインの表やビューなどのオブジェクトを検索します。
オフライン・スキーマとそれに含まれるオブジェクトを表示するには:
- 「アプリケーション」ウィンドウで、オフライン・スキーマが含まれているプロジェクトを展開します。
- 「オフライン・データベース・ソース」を展開し、参照するデータベースとスキーマを展開します。
データベース・フィルタの使用方法
スキーマ、データベース・オブジェクト・タイプおよびタイプ内のデータベース・オブジェクトをフィルタリングして、定義したサブセットを接続ノードの下に表示できます。これは、接続からアクセス可能なスキーマが数千も存在する環境で役立ちます。
ノート:
Oracle Databaseへの接続を作成すると、接続で指定したスキーマのオブジェクトが表示されます。他のスキーマの内容を表示するには、「他のユーザー」ノードを展開し、必要なスキーマのノードを展開します。
汎用のJDBCまたはJDBC-ODBC接続を使用して接続する場合、すべてのスキーマが表示されます。
フィルタは、接続内のスキーマ用、スキーマ内のオブジェクト・タイプ(表、ビューなど)の任意のセット用、またオブジェクト・タイプ・ノード内の任意のオブジェクト・セット(たとえば、DBで始まる表のみを表示)用に定義できます。
フィルタを使用するには:
データベース・フィルタの有効化と無効化の方法
JDeveloperはフィルタを備えているので、スキーマ、表、ビュー、またはその他のオブジェクトのセットを定義して表示できます。
オンライン・データベース・オブジェクトのフィルタを作成するには:
データベース・オブジェクト・ビューアでデータベース表を開く方法
稼働中にデータベース接続にある表を、データベース・オブジェクト・ビューアで開くことができます。
データベース・オブジェクト・ビューアの下部には多数のタブがあり、そのタブを使用して、表の構造や表に含まれているデータを調査および変更できます。
オブジェクト・ビューアで表の構造を表示し編集するには:
- データベース・オブジェクト・ビューアで表を開くには、「データベース」ウィンドウで表を選択してダブルクリックします。あるいは、表を右クリックして「開く」を選択する方法もあります。
- 確認したい情報が含まれているタブ、たとえば「列」を選択します。詳細を参照するには、[F1]を押すか、データベース・オブジェクト・ビューアで「ヘルプ」をクリックしてください。
表の構造を表示および編集するには、「表の編集」ダイアログを使用する方法もあります。
表のデータを編集できます。
表データの編集方法
開発中のアプリケーションの機能をテストするなどの目的で、データベース表のデータを変更できます。1つのセルの値を変更したり、行を追加および削除できます。変更後は、変更をデータベースにコミットするか、変更をロールバックしてデータベース表を元のままにしておくかを選択できます。
表のデータを編集するには:
データベースへの接続
OracleデータベースおよびOracle以外のデータベースへの接続の作成方法を学習します。
この項では、OracleおよびOracle以外のデータベースに接続する方法を説明します。
データベースへの接続の作成時に行われる処理
「データベース接続の作成」ダイアログを使用してデータベース接続を作成すると、新しい接続が作成され、その接続を表すノードが次の場所に表示されます。
-
「データベース」ウィンドウ。
-
「アプリケーション」ウィンドウ。
-
「リソース」ウィンドウ。
Oracle Databaseへの接続の作成方法
Oracle Databaseに接続して操作できます。サポートされる具体的なバージョンの詳細は、JDeveloperの認定情報(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html
)を参照してください。
Oracle Databaseへの接続の作成方法
JDeveloperでは、様々なOracleデータベースおよびOracle以外のデータベースに接続できます。
Oracle Databaseへのデータベース接続を作成するには:
- 接続タイプとして「Oracle (JDBC)」を使用します。
- データベース接続について、ユーザー名、ロールおよびパスワードの適切な値を入力します。
- デフォルトでは「パスワードの保存」フィールドが選択されているため、2度目以降はパスワードの入力を求められません。
- シン・ドライバを選択します。
- データベースがローカル・マシン上にある場合は、デフォルトのlocalhostを使用します。それ以外の場合は、TCP/IPで解決可能なIPアドレスまたはホスト名(
myserver
など)を入力します。 - データベースのSIDまたはサービス名を入力します。
- 「接続のテスト」をクリックして接続をテストします。JDeveloperがデータベースに接続するまで時間がかかることがあります。
テストに成功すると、ステータス・テキスト領域に成功メッセージが表示されます。テストに成功しなければ、エラーが表示されます。この場合、必要に応じて以前に入力した情報を変更してエラーを修正するか、エラーの内容を確認して考えられる他のエラー要因を特定します。
MySQLへの接続の作成方法
JDeveloperでは、MySQL 4.1または5.0への接続と、MySQL 4.1または5.0のエミュレーションによるオフライン・データベースの操作が可能です。MySQLの詳細は、http://www.oracle.com/us/products/mysql/index.htm
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、MySQLを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成:
-
データ型、NOT NULL制約、デフォルト値、および列の内容を指定する列の追加
-
主キーと外部キー制約の追加
-
-
表の変更:
-
列の追加
-
列の削除
-
索引の追加
-
索引の削除
-
制約(主キー、一意キー、外部キー)の追加
-
制約(主キー、一意キー、外部キー)の削除
-
-
表名の変更
-
表の削除
MySQLへのデータベース接続を作成するには:
Oracle TimesTen In-Memory Databaseへの接続の作成方法
Oracle TimesTen In-Memory Databaseは、メモリーが最適化されたリレーショナル・データベースです。各種の業界で必要とされている高速な応答性と高いスループットをアプリケーションに提供します。アプリケーション層でデプロイされるTimesTenデータベースは、完全に物理メモリー内に常駐するため、リカバリ性能に必要なディスク・ストレージへの永続性を備えています。
JDeveloperでは、Oracle TimesTen In-Memory Database 6.0、7.0、11gへの接続と、TimesTenデータベースのエミュレーションによるオフライン・データベースの操作が可能です。Oracle TimesTen In-Memory Database 11gの詳細は、http://www.oracle.com/technetwork/database/timesten/overview/index.html
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、TimesTenデータベースを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成。
-
列の追加
-
主キーと外部キーの追加
-
-
表の変更。
-
列の追加
-
列の削除
-
主キーと外部キーの追加
-
主キーと外部キーの削除
-
-
Oracle TimesTen In-Memory Database v6.0の場合、現行の制限事項では、主キーなどの制約を表示するには、接続ユーザー名が接続先スキーマ名と同一であることを確認する必要があります。
Oracle TimesTen In-Memory Databaseへのデータベース接続を作成するには:
Oracle以外のデータベースへの接続の作成方法
Oracle以外のデータベースに接続して操作できます。サポートされる具体的なバージョンの詳細は、JDeveloperの認定情報(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html
)を参照してください。
一般に、次の操作が可能です。
-
JDeveloperへのデータベース・オブジェクトのインポート。
-
オフライン・データベース・オブジェクトの作成。
-
オフライン・データベース・オブジェクトの編集。
データベース接続を作成するには、次のようにします。
- JDBCドライバを含むライブラリを作成します。
- データベース接続を作成します。
- 「データベース接続の作成」ダイアログで、データベース用の適切な値を入力します。詳細は、接続先のデータベースに関するヘルプ・トピックを参照してください。
- 最後に、正しいデータ型を使用するようにプロジェクトを構成する必要があります。
接続タイプ別に下に示される説明には「JDBC URL」が表示されますが、必要な場合には、「データベース接続の作成」ダイアログの各フィールドにサーバー、ポート、データベースの詳細を入力することもできます。
Java DB/Apache Derbyへの接続の作成方法
Apache Derbyは、完全にJavaで実装されたオープン・ソースのリレーショナル・データベースです。Java DBは、Apache Derbyオープン・ソース・データベースのOracleがサポートするディストリビューションです。JDeveloperでは、Apache Derby 10.5への接続と、Apache Derby 10.5のエミュレーションによるオフライン・データベースの操作が可能です。Apache Derbyの詳細は、http://db.apache.org
を参照してください。Java DBの詳細は、http://www.oracle.com/technetwork/java/javadb/overview/index.html
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、Apache Derbyを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成:
-
列の追加
-
主キーと外部キー制約の追加
-
-
表の変更:
-
列の追加
-
列の削除
-
制約の追加
-
制約の削除
-
ノート:
列のデフォルト値はサポートされません。
Apache Derbyに接続するには、Derbyに埋め込まれたJDBCドライバを使用することも、クライアントとして接続を作成することもできます。
埋込みドライバを使用してApache Derbyに接続するには:
-
Apache Derbyデータベースへのデータベース接続を作成します。
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 接続に使用する適切な値を入力します。
-
ドライバ・クラス:
org.apache.derby.jdbc.EmbeddedDriver
-
ライブラリ:
lib/derbyclient.jar
-
JDBC URL:
jdbc:derby://machine-name:port/databases/database-name
-
クライアントとしてApache Derbyに接続するには:
IBM DB2 Universal Databaseへの接続の作成方法
JDeveloperでは、IBM DB2 Universal Database 10.1または9.5への接続と、IBM DB2 Universal Database 10.1または9.5のエミュレーションによるオフライン・データベースの操作が可能です。IBM DB2 Universal Databaseの詳細は、http://www.ibm.com
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、IBM DB2を扱うときには使用できない機能もあり、IBM DB2データベースの操作は次のものに制限されます。
-
表の作成と、データ型、NOT NULL制約およびデフォルト値を指定する列の追加、主キーと外部キーの追加、索引の作成。
-
表の変更、列の追加と削除、索引の追加と削除、制約(主キー、一意キー、チェック・キー、外部キー)の追加と削除。
-
表名の変更。
-
表の削除。
ノート:
IBM DB2 Universal Database 9.5のDROP列とALTER COLUMN列の構文は、IBM DB2 Universal Database 9.5でサポートされます。
IBM DB2への接続には、WebLogic JDBCドライバまたはIBMのネイティブ・ドライバを使用できます。
WebLogic JDBCドライバを使用してIBM DB2に接続するには:
-
IBM DB2データベースへのデータベース接続を作成します。
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 接続に使用する適切な値を入力します。
-
ドライバ・クラス:
weblogic.jdbc.db2.DB2Driver
-
JDBC URL:
jdbc:weblogic:db2://
machine-name
:
port
;DatabaseName=
database-name
-
ネイティブ・ドライバを使用してIBM DB2に接続するには:
IBM Informix Dynamic Serverへの接続の作成方法
JDeveloperでは、IBM Informix DS 10または11.5への接続と、IBM Informix DS 10または11.5のエミュレーションによるオフライン・データベースの操作が可能です。IBM Informix DSの詳細は、www.IBM.comを参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、IBM Informix DSを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成と、列の追加。
-
主キーと外部キー制約の追加。
-
表の変更、列の追加、列の削除。
IBM Informix DSへの接続には、WebLogic JDBCドライバまたはIBMのネイティブ・ドライバを使用できます。
WebLogic JDBCドライバを使用してIBM Informix DSに接続するには:
-
IBM Informix DSデータベースへのデータベース接続を作成します。
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 接続に使用する適切な値を入力します。
-
ドライバ・クラス:
weblogic.jdbc.informix.InformixDriver
-
JDBC URL:
jdbc:weblogic:informix://machine-name:port;informixServer=server-name;databaseName=database-name
-
ネイティブ・ドライバを使用してIBM Informix DSに接続するには:
Microsoft SQL Serverへの接続の作成方法
JDeveloperでは、Microsoft SQL Server 2005または2008への接続と、Microsoft SQL Server 2005または2008のエミュレーションによるオフライン・データベースの操作が可能です。Microsoft SQL Serverの詳細は、http://www.microsoft.com
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、Microsoft SQL Serverを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成:
-
データ型、NOT NULL制約、デフォルト値、および列の内容を指定する列の追加
-
主キーと外部キー制約の追加
-
索引の作成
-
-
表の変更:
-
列の追加
-
列の削除
-
索引の追加
-
索引の削除
-
制約(主キー、一意キー、外部キー)の追加
-
制約(主キー、一意キー、外部キー)の削除
-
-
表の削除
Microsoft SQL Serverへの接続には、WebLogic JDBCドライバまたはMicrosoftのネイティブ・ドライバを使用できます。
WebLogic JDBCドライバを使用してMicrosoft SQL Serverに接続するには:
-
Microsoft SQL Serverデータベースへのデータベース接続を作成します。
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 接続に使用する適切な値を入力します。
-
ドライバ・クラス:
weblogic.jdbc.sqlserver.SQLServerDriver
-
JDBC URL:
jdbc:weblogic:sqlserver://machine-name\MSSQLSERVER:port;databaseName=database-name
-
Microsoft SQL Serverに接続するには:
例25-1 留意事項
Microsoft SQL Serverへの接続にWindows認証の資格証明を使用する場合は、さらに次の操作が必要です。
-
接続プロパティ
integratedSecurity=TRUE
と、ユーザー名およびパスワード値をJDBC URLに追加します。たとえば、次のようになります。jdbc:sqlserver://machine-name:port;DatabaseName=database-name;username=USERNAME;password=PASSWORD;integratedSecurity=TRUE
-
sqljdbc_auth.dll
の場所をPATH変数に追加します。-
32ビットJVMの場合:
installation-directory\sqljdbc_version\language\auth\x86
-
64ビットJVMの場合:
installation-directory\sqljdbc_version\language\auth\x64
-
詳細は、Microsoft MSDNのWebサイトにある「Connecting to SQL Server with the JDBC Driver」の「Building the Connection URL」を参照してください。
SQLiteへの接続の作成方法
SQLiteは、プラットフォームに依存せずホスト・コンピュータに常駐するファイルで表されるリレーショナル・データベース管理システムです。スマートフォン・プラットフォームなどで利用されています。JDeveloperでは、SQLite 3.6データベース・ファイルへの接続と、SQLite 3.6のエミュレーションによるオフライン・データベースの操作が可能です。SQLiteの詳細は、http://www.sqlite.org
を参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、SQLiteを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成と、列の追加。
-
表の変更と、列の追加。
-
プロジェクトへのコピー。この場合、SQLiteデータベースへの接続から、SQLiteをエミュレートするオフライン・データベースへ表とその列および主キーをコピーします。
-
制約、索引、列のプロパティはオフライン・データベースでもモデル化できますが、DDLは表および列に対してしか生成されません。表に対する制約(主キーを含む)の生成や、他のオブジェクト・タイプ(索引、ビュー、トリガーなど)の生成はサポートされていません。つまり、オンラインのSQLiteデータベース上にある表については、「表の作成」および「表の編集」ダイアログには列パネルしか表示されません。
SQLiteへのデータベース接続を作成するには:
-
SQLite用のJava JDBCドライバをダウンロードし、そのためのライブラリを作成します。
-
SQLiteへのデータベース接続を作成します。
-
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 空のまま
-
ドライバ・クラス:
org.sqlite.JDBC
-
ライブラリ: ドライバのために作成したライブラリ。
-
JDBC URL:
jdbc:sqlite://path/database-name
。ここでpathはデータベース・ファイルのパス、database-nameは指定された場所にあるSQLiteデータベースの名前です。指定された場所にデータベースが存在しない場合は、接続の確立時に作成されます。
-
Sybase ASEへの接続の作成方法
JDeveloperでは、Sybase Adaptive Server Enterprise 12.5または15への接続と、Sybase ASE 12.5または15のエミュレーションによるオフライン・データベースの操作が可能です。Sybase Adaptive Server Enterpriseの詳細は、www.sybase.comを参照してください。
「表の作成」または「表の編集」ダイアログは汎用なので、Sybase ASEを扱うときには使用できない機能もあります。次のことが可能です。
-
表の作成:
-
列の追加
-
主キーと外部キー制約の追加
列の追加
-
-
表の変更:
-
列の追加
-
列の削除
-
制約の追加
-
制約の削除
-
ノート:
列のデフォルト値はサポートされません。
Sybase ASEへの接続には、WebLogic JDBCドライバまたはSybaseのネイティブ・ドライバを使用できます。
WebLogic JDBCドライバを使用してSybase ASEに接続するには:
-
Sybase ASEデータベースへのデータベース接続を作成します。
次の値を使用します。
-
接続タイプ:
汎用JDBC
-
「ユーザー名」と「パスワード」: 接続に使用する適切な値を入力します。
-
ドライバ・クラス:
weblogic.jdbc.sybase.SybaseDriver
-
JDBC URL:
jdbc:weblogic:sybase://machine-name:port;DatabaseName=databas-name
-
ネイティブ・ドライバを使用してSybase ASEに接続するには:
Oracle Database Cloud Serviceへの接続およびデプロイ
JDeveloperからOracle Database Cloud Serviceを使用する方法を学習します。
Oracle Database Cloud Serviceに接続したり、Oracle Databaseオブジェクトをデプロイできます。Oracle Database Cloud Serviceの詳細は、https://cloud.oracle.com
を参照してください。
Oracle Database Cloud ServiceとのJDeveloper接続の種類
JDeveloperでデータベースへの接続を作成します。
JDeveloperでは、次の2種類の接続を使用してOracle Database Cloud Serviceインスタンスに接続します。
-
データベース接続: この接続は、Welcome to Oracle Cloudという電子メールで指定されたサービス・ホームのURLを使用して行われます。このURLはOracle Application Expressに接続します。 Oracle Database Cloud Serviceインスタンス上のデータベース・オブジェクトやデプロイメントを「データベース」ウィンドウ内のノードから参照できます。この接続は、ユーザーがOracle Database Cloud Serviceインスタンスに接続するまで検証されません。接続時にパスワードの入力を要求されます。
-
セキュアなFTP接続: この接続では、Welcome to Oracle Cloudという電子メールで指定されたセキュアなFTPホスト名とSFTPユーザーを使用して、 デプロイメントZIPファイルがOracle Database Cloud ServiceインスタンスにSFTPでアップロードされます。Oracle Database Cloud Service側では、これらのファイルをダウンロードしてOracle Database Cloud Serviceインスタンスに配置するバックグラウンド・ジョブが実行されています。
クラウド接続の作成または編集ダイアログまたは「クラウドへのオブジェクトのデプロイ」ダイアログでセキュアなFTPホスト名とユーザーを入力すると、この情報が保存され、次回オブジェクトをOracle Database Cloud Serviceインスタンスにデプロイするときに表示されます。
Oracle Database Cloud Serviceにサインアップしたばかりの場合は、JDeveloperからの接続を作成する前にいくつかのステップを実行する必要があります。たとえば、アイデンティティ・ドメイン管理者はサービス・ホーム用とセキュアなFTPサイト用の新しいパスワードを作成する必要があります。必要な情報は、Welcome to Oracle Cloudという電子メールに記載されています。
Oracle Database Cloud Serviceインスタンスとのデータベース接続を作成できるユーザーを作成する必要があります。Database Cloud Serviceのロールおよびユーザーに関する項を参照してください。
Oracle Database Cloud Service接続の作成
Oracle Database Cloud Serviceにサインアップすると、必要な接続情報が届きます。
接続を作成するには:
接続が作成され、「データベース」ウィンドウに表示されます。ただし、この情報はOracle Database Cloud Serviceに接続するまで検証されません。
Oracle Database Cloud Service接続の編集
接続は切断中にのみ編集できます。
接続を作成するには:
- 必要に応じて、「ウィンドウ」→「データベース」→「データベース」を選択して、「データベース」ウィンドウを開きます。
- 「クラウド接続」ノードの下にある目的のクラウド接続のノードを右クリックし、「プロパティ」を選択します。
- 「クラウド接続の編集」ダイアログで必要な変更を加えます。詳細は、[F1]キーを押すか、「ヘルプ」をクリックしてください。
データベース・カートの使用
カートは、1つ以上のデータベース接続からOracle Databaseオブジェクトを収集したり、これらのオブジェクトをデプロイ、エクスポート、比較およびコピーするための便利なツールです。オブジェクトを、それぞれ固有のタブを持つ1つ以上のカートに入れることができます。「カート」ウィンドウを開くと空のカートが表示されますが、新規または既存のカート・タブで新しいカートを作成したり以前保存したカートを開くこともできます。
カート内のオブジェクトは、自動的にデータベース・アクティビティと同期します。カートの内容を更新してデータベースの最新の状態を反映するには、「リフレッシュ」ボタンをクリックします。リフレッシュ後にオブジェクトが存在しない場合、そのオブジェクトはカート内で無効化され、エラーを示す下線が表示されます。
データベース・オブジェクトをカート・タブに入れる方法は、次のように複数あります。
-
オブジェクトを「データベース」ウィンドウから「カート」ウィンドウへドラッグ・アンド・ドロップする。
-
「データベース」ウィンドウで1つ以上のオブジェクトを選択し、右クリックして「カートに追加」を選択する。
-
以前に保存したカートXMLファイルを開く。
-
「スクリプト」アイコンのドロップダウン (「初期スクリプトの追加」、「最終スクリプトの追加」)を使用してスクリプトを追加する。(スクリプトに非対応のカート・ツールを使用した場合、スクリプトは無視されます。)
データベース・カートで使用されるデフォルト・ディレクトリの設定
データベース・カートで直接使用されるデフォルト、およびスクリプトで使用されるデフォルト・ディレクトリを変更できます。
カート・ディレクトリを設定するには:
- 「ツール」→「プリファレンス」を選択します。
- 「プリファレンス」ページから、「データベース: ユーティリティ: カート」ページに移動して「デフォルトのカート・ディレクトリ」または「スクリプト・ディレクトリを開く」のディレクトリを変更します。作業中に詳細を参照するには、[F1]を押すか、ダイアログ内から「ヘルプ」をクリックします。
データベース・カート・ツールの構成
カートのデータベース・ユーティリティ(エクスポート、差異[比較]、コピー)ごとに、ユーティリティ固有の構成設定を作成して保存したり、開くことができます。
カートが使用するデフォルトの場所は、「ツール」メニューから表示できる「プリファレンス」ダイアログの「データベース: ユーティリティ: カート」ページで変更できます。
構成設定を作成して保存するには:
-
「データベース・カート」ダイアログ(「エクスポート」、「データベース差分」または「コピー」のいずれか)で、「構成の保存」ボタンをクリックします。
-
「ツール構成の保存」ダイアログに構成ファイルのデフォルトの場所が表示されます。必要に応じて、別の場所を参照します。
-
「適用」をクリックします。
次のように、ダイアログを呼び出したツールを反映した名前の構成ファイルが、選択した場所に作成されます。
-
export_cart.xml
-
diff_cart.xml
-
copy_cart.xml
以前保存した構成設定を使用するには:
Oracle Database Cloud Serviceへのデプロイ
この項では、Oracle Database Cloud Serviceにデプロイする方法について説明します。データベース・オブジェクトをデプロイするのみでなく、生成されたスクリプトの前後に実行するスクリプトを1つずつ指定できます。
データベース・オブジェクトをクラウドにデプロイするには:
JDeveloperでは、「クラウドへのオブジェクトのデプロイ」ダイアログで指定した場所にZIPファイルが作成され、セキュアFTPでOracle Database Cloud Serviceインスタンスに接続され、デプロイメント・ファイルを格納したZIPファイルが転送されます。
デプロイメントのステータスを調べるには、クラウド・データベース接続の「デプロイメント」ノードでデプロイメント・オブジェクトの「ログ」タブを使用します。デプロイメント後、「データベース」ウィンドウ内の「クラウド接続」ノードに、デプロイしたデータベース・オブジェクトが表示されます。
データベース・デプロイメント・ファイルへのデプロイ
データベース・オブジェクトのDDLとオプションとしてデータを格納したZIPファイルを1つ以上のデータベース接続から作成できます。
JDeveloperでは、次のスクリプトを格納したZIPファイルが作成されます。
-
データベース・オブジェクトのDDLが含まれた複数のSQLスクリプト
-
必要な関連データをデプロイするためのスクリプト
-
Generated-yyyymmddhhmmss.sql
という形式の名前を持つマスター・スクリプト
ZIPファイルの作成が完了したら、そのファイルを使用してマスター・スクリプトを実行することにより、データベース・オブジェクトをデータベース接続にデプロイできます。
データベース・オブジェクトをZIPファイルにデプロイするには:
- 必要に応じて、データベース・カートを開きます。「ウィンドウ」→「データベース」→「データベース・カート」を選択します。作業中に詳細を参照するには、[F1]キーを押すか、ウィンドウまたはダイアログ内から「ヘルプ」をクリックします。
- 必要に応じて、「ウィンドウ」→「データベース」→「データベース」を選択して、「データベース」ウィンドウを開きます。
- 「データベース」ウィンドウで、カートに追加するデータベース接続が含まれているデータベース接続を展開します。オブジェクトを選択して(複数のオブジェクトを同時に選択するには、[Ctrl]キーを押しながらオブジェクトを選択します)、カートにドラッグします。
- 「データベース・カート」で、デプロイするオブジェクトを選択します。必要な場合は、デプロイするデータも選択します。
- 「データベース・カート」で「デプロイ」をクリックし、「オブジェクトのデプロイ」ダイアログで必要なオプションを選択したら、「適用」をクリックします。
JDeveloperでは、ZIPファイルが指定の場所に作成されます。
デフォルトのデプロイメント場所は、「ツール」メニューから表示できる「プリファレンス」ダイアログの「ユーティリティ: カート」ページで変更できます。
データベース・カートの保存
データベース・カートの内容を保存して後で再使用できます。
カートの内容を保存するには:
- 必要に応じて、データベース・カートを開きます。「ウィンドウ」→「データベース」→「データベース・カート」を選択します。作業中に詳細を参照するには、[F1]キーを押すか、ウィンドウまたはダイアログ内から「ヘルプ」をクリックします。
- 必要に応じて、「ウィンドウ」→「データベース」→「データベース」を選択して、「データベース」ウィンドウを開きます。
- 「データベース」ウィンドウで、カートに追加する接続が含まれているデータベース接続を展開します。オブジェクトを選択して(複数のオブジェクトを同時に選択するには、[Ctrl]キーを押しながらオブジェクトを選択します)、カートにドラッグします。
- 「データベース・カート」ツールバーの「カートの保存」をクリックし、「カートの保存」ダイアログで保存場所を確認し、「適用」をクリックします。
JDeveloperでは、カートの内容がXMLファイルとして指定の場所に保存されます。
保存したデータベース・カートを開く
保存したデータベース・カートの内容を開くことができます。カートを空にして、保存したカートの内容のみを格納するか、または保存したカートの内容をカートの既存の内容に追加できます。
Oracle Database Cloud Service接続へのデプロイメントの確認
Oracle Database Cloud Serviceインスタンスへのデプロイメントを確認できます。
デプロイメントを確認するには:
セルに収まりきらない情報を表示するには、そのセルの上にマウス・ポインタを置きます。または、セルをダブルクリックします。セルの内容が「詳細」ウィンドウに表示されます。これは特に、SQL*Loaderファイルなどの情報を見るときに便利です。
デプロイメントを再実行したり、デプロイメントのログを削除したり、Oracle Database Cloud Serviceインスタンスからデプロイメントを削除できます。
デプロイメントを再実行するには:
-
デプロイメントを右クリックし、「再起動」を選択します。元のデプロイメントに含まれているスクリプトが再実行されます。
デプロイメントのログをクリアするには:
-
デプロイメントを右クリックし、「ログのクリア」を選択します。デプロイメント・オブジェクト・ビューアの「ログ」タブ内の情報が削除されます。
デプロイメントを削除するには:
-
デプロイメントを右クリックし、「削除」を選択します。そのデプロイメントがデプロイメントの一覧から削除されます。
ノート:
この操作では、Oracle Database Cloud Serviceインスタンスにデプロイされたデータベース・オブジェクトは削除されません。これを行うには、削除するオブジェクトに対するDROP文を含んだ前のスクリプトを使用するデプロイメントを指定し、それをデプロイします。
データのインポートとエクスポート
既存の表または新しい表にデータをインポートする方法、SQL*Loaderを使用してデータをインポートする方法、外部表にデータをインポートする方法を学習します。データベース接続を使用してデータべースからデータをエクスポートする方法およびファイルにデータをエクスポートする方法を学習します。
データベース接続を使用して、データベースの表にデータをインポートできます。
ノート:
オフライン表はデータベース表の表現形にすぎないので、オフライン表にデータはインポートできません。
次の対象からインポートできます。
-
csv。列IDのヘッダー行を含めて、カンマ区切りの値を含むファイル。
-
xls。Microsoft Excel形式のファイル(既存および新規の表へのインポートのみ)。
次の対象にデータをインポートできます。
-
データベースの既存の表。
-
インポート・プロセスの一部として作成される新規の表。
-
SQL*Loader制御ファイルの使用。
-
外部表。
SQL*Loaderを使用したデータのインポート
データのインポート・ウィザードで「SQL*Loader」オプションを選択すると、データを含むインポート・ファイルと同じ場所にtable.ctlファイル(データを含むファイルとインポート先の表に関する情報が格納される)と、JDeveloperではインポートを実行するためのtable.batおよびtable.shが作成されます。「SQL*Loaderの概念」を参照してください。
外部表へのデータのインポート
外部表にデータをインポートできます。外部はフラット・ファイルですが、Oracle表と同じようにデータを問い合せることができます。
「外部表」オプションを選択すると、JDeveloperではSQLが作成されてSQLワークシートに表示され、そこでSQLを調査してスクリプトの実行前に必要な変更を行うことができます。外部表を使用したデータ移動に関する項を参照してください。
既存の表にデータをインポートする方法
データベース接続を介して、データベースの表にデータをインポートできます。
次のファイル形式のインポートをサポートしています。
-
csv。列IDのヘッダー行を含めて、カンマ区切りの値を含むファイル。
-
xls。Microsoft Excel形式のファイル。
既存のデータベース表にデータをインポートするには:
SQL*Loaderを使用してデータをインポートする方法
SQL*Loader制御ファイルを作成し、それを使用してデータをインポートできます。
SQL*Loader制御ファイルにデータをインポートするには:
データベースからのデータのエクスポート
データベース接続を介して、データベースの表からデータをエクスポートできます。
データは、ファイルにもクリップボードにも保存できます。次の形式をサポートしています。
-
csv
。列IDのヘッダー行を含めて、カンマ区切りの値を含むファイルを作成する場合。ノート:
別のデリミタを選択できます。
-
fixed
。レコードが同じバイト長のときにファイルを作成する場合。 -
html
。データを持つ表を含むHTMLファイルを作成、挿入する場合と、SQL INSERT文を含むファイルを作成する場合。 -
loader
。SQL*Loader制御ファイルを作成する場合。「SQL*Loaderの概念」を参照してください。 -
text
。テキスト・ファイルを作成する場合。 -
ttbulkcp
。TimesTenのttbulkcpコマンドライン・ユーティリティを使用してデータファイルを作成する場合。詳細は、Oracle TimesTen In-Memory Database 11g (http://www.oracle.com/technology/products/timesten/index.html
)を参照してください。 -
xls
。Microsoft Excel.xls
ファイルを作成する場合。このファイルには、データを含むエクスポート・ワークシートと、データのエクスポートに使用されるSQL文を含むSQLの2つのワークシートが含まれます。 -
xml
。XMLタグとデータを含むファイルを作成する場合。
「データのエクスポート」ダイアログでエクスポートするデータを制限するには、一部の列のみを選択してWHERE
句を入力します。
ノート:
大きい表をMicrosoft Excelファイルにエクスポートする際に問題が発生した場合には、jdeveloper.conf
ファイルに次の行を追加してヒープ・サイズを大きくし、JDeveloperを再起動してみてください。
AddVMOption -Xmx1024M
表の行数が65,536を超えると、JDeveloperは行を.xls
ファイル内の複数のワークシートに書き込みます。
データベースのエクスポート・ウィザードを使用して、データベースからデータをエクスポートすることもできます。
データベースのコピー、比較、エクスポート
JDeveloperを使用して、ソース・スキーマから宛先スキーマにデータベース・オブジェクトをコピーしたり、データベース・スキーマを比較したり、データベース・オブジェクトおよびデータをエクスポートできます。
データベースのコピー方法
データベース・オブジェクトをソース・スキーマから宛先スキーマにコピーできます。同じ名前のオブジェクトが宛先スキーマに存在する場合の動作を決定する操作のタイプに応じた制限が適用されます。
ソース・データベースと宛先データベースの接続があらかじめ定義されている必要があります。
データベースをコピーするには:
データベース・スキーマの比較方法
異なる2つのスキーマで、同じタイプおよび名前のオブジェクト(たとえば、CUSTOMERSという表)の差異を検出できます。また、オプションで、一方のスキーマ(宛先)のオブジェクトを更新して、もう一方のスキーマ(ソース)の差異を反映できます。
差分ウィザードを使用するには、Oracle DatabaseのOracle Change Managementオプションのライセンスが必要です。ライセンスを購入するには、オラクル社の営業担当者または正規オラクル代理店にお問合せいただくか、Oracle Storeにアクセスして(https://shop.oracle.com
)オンラインでご購入ください。
ソース・データベースと宛先データベースの接続があらかじめ定義されている必要があります。
データベース・スキーマを比較するには:
データベース・レポートの使用
データベースおよびそのオブジェクトに関する事前定義済レポートを表示し、新しいレポートを定義します。
JDeveloperでは、データベースとデータベース・オブジェクトに関する多くのレポートを使用できます。また、独自のユーザー定義データベース・レポートを作成できます。
オフライン・データベース・オブジェクトについてのレポートも実行できます。
データベース・レポートの使用
JDeveloperでは、データベースとデータベース・オブジェクトに関する多くのレポートを使用できます。また、独自のユーザー定義データベース・レポートを作成できます。
一部のレポートでは、レポートの生成前にバインド変数の入力を求められます。このバインド変数を使用すると、出力をさらに制限できます。すべてのバインド変数のデフォルト値はNULLで、これは、追加の制限を設定しないことを意味します。
「データベース・レポート」ウィンドウを使用すると、データベースで最新情報を問い合せるレポートを実行できます。特定のレポートの表示に必要な時間はレポートごとに異なり、関連するオブジェクトの数と複雑さ、およびデータベースへのネットワーク接続の速度に影響を受ける場合があります。
データベースとデータベース・オブジェクトに関して事前定義済の多くのレポートがあります。
また、独自のユーザー定義レポートを作成できます。
たとえば、レポートの基礎となるSQLを調べると、独自のレポートを作成できます。
データベース・レポートはフォルダに編成され、レポートとフォルダはエクスポートが可能です。
レポートは、エクスポートすることによって共有できます。
レポートを共有するユーザーは、「プリファレンス」ダイアログを使用してJDeveloperのインスタンスにそのレポートを追加します。エクスポートされたレポートは、「ユーザー定義レポート」ノードの下のフォルダにインポートされます。
データベース・レポートの実行方法
「データベース・レポート」ウィンドウを使用すると、データベースで最新情報を問い合せるレポートを実行できます。特定のレポートの表示に必要な時間はレポートごとに異なり、関連するオブジェクトの数と複雑さ、およびデータベースへのネットワーク接続の速度に影響を受ける場合があります。
データベース・レポートを実行するには、次のようにします。
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- 実行するレポートを検索し、右クリックして「開く」を選択すると、レポート・ビューア・ウィンドウで以前の結果が上書きされます。または、「新規に開く」でレポート・ビューアの新しいインスタンスを開きます。
- 「バインド変数」ダイアログが表示された場合は、使用するバインド変数を入力します。詳細は、[F1]を押すか、「バインド変数」ダイアログで「ヘルプ」をクリックしてください。
レポートの結果は、レポート・ビューアに表示されます。
レポートのSQLを表示する方法
データベース・レポートの基礎となるSQLを、SQLワークシートで表示できます。
データベース・レポートのSQLを表示するには:
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- レポートを実行します。
- レポート・ビューアで、「SQLワークシートでレポートを実行」ボタンをクリックします。SQLワークシートが開き、レポートのSQLコードが表示されます。
ユーザー定義データベース・レポートの作成方法
データベース機能とオブジェクトについて、独自のレポートを定義できます。
ユーザー定義レポートを作成するには:
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- 「ユーザー定義レポート」ノード、またはこのノードの下に作成したフォルダを右クリックして、「レポートの追加」を選択します。
- 「レポートの作成」ダイアログで、レポートのSQLの名前を入力します。詳細は、[F1]を押すか、「レポートの作成」ダイアログで「ヘルプ」をクリックしてください。
ユーザー定義データベース・レポートの編集方法
ユーザー定義レポートは編集が可能です。
ユーザー定義レポートを編集するには:
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- 「ユーザー定義レポート」ノードを開き、編集するレポートを右クリックして「編集」を選択します。
- 「レポートの作成」ダイアログで、レポートのSQLの名前を入力します。詳細は、[F1]を押すか、「レポートの作成」ダイアログで「ヘルプ」をクリックしてください。
レポートのフォルダの作成方法
ユーザー定義レポートはフォルダ内にまとめておくことができます。
フォルダを作成するには:
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- 「ユーザー定義レポート」ノードを右クリックして、「フォルダの追加」を選択します。
- 「フォルダの作成」ダイアログで、フォルダの名前を入力します。作業中に詳細を参照するには、[F1]を押すか、ダイアログで「ヘルプ」をクリックします。
ユーザー定義レポートのエクスポート方法
データベース・レポート、またはデータベース・レポートのフォルダをエクスポートできます。
レポートを共有している場合にそのレポートをエクスポートすると、レポートを共有するユーザーのJDeveloperインスタンスでレポートを使用できるようになります。
データベース・レポートまたはフォルダをエクスポートするには:
- 開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
- 共有するレポートまたはフォルダを右クリックして、「エクスポート」を選択します。
- レポートの場所を「保存」ダイアログに入力します。レポートのデフォルト名は
explain.xml
です。
ユーザー定義レポートのインポート方法
エクスポートしたデータベース・レポートやフォルダは、ユーザー定義のフォルダにインポートできます。
まず、レポートを保持するフォルダを作成する必要があります。
これは、データベース・レポートを共有する簡単な方法でもあります。
データベース・レポートまたはフォルダをインポートするには:
-
開かれていない場合には、「データベース・レポート」ウィンドウを開きます。メイン・メニューで、「ウィンドウ」→「データベース」→「データベース・レポート」を選択します。
-
「ユーザー定義レポート」ノードの下で、レポートを追加するフォルダを右クリックして「インポート」を選択します。
-
「開く」ダイアログで、「保存」ダイアログを使用してエクスポートされたレポートの場所を入力または参照します。レポートのデフォルト名は
explain.xml
です。
データベース・レポートの共有方法
データベース・レポートを共有できます。エクスポートしたレポートは、起動したJDeveloperに追加できます。
レポートを共有する前に:
-
レポートを実行する必要があります。
-
次にレポートをエクスポートする必要があります。
データベース・レポートを共有するには:
- メイン・メニューから、「ツール」→「プリファレンス」を選択します。
- 「プリファレンス」ダイアログで、「データベース」→「ユーザー定義の拡張」を選択します。詳細は、[F1]を押すか、「プリファレンス」ダイアログ内で「ヘルプ」をクリックしてください。
- 「行の追加」をクリックして「タイプ」の下で「レポート」を選択し、「ロケーション」の下でエクスポートされたレポートの場所を入力または参照します。
- JDeveloperを再起動します。
- 「ウィンドウ」→「データベース」→「データベース・レポート」を選択して、「データベース・レポート」ウィンドウを開きます。「データベース」ウィンドウ内の「共有レポート」ノードの下に共有レポートが表示されます。
リファレンス: 事前定義済のデータベース・レポート
この項では、「データベース・レポート」ウィンドウの「データ・ディクショナリ・レポート」ノードの下にある事前定義済レポートについて説明します。
レポートはカテゴリに分類され、そのカテゴリで1種類以上のレポートを使用できます。
-
データベースについてに関するレポート
これらのレポートには、接続に関連付けられたデータベースに関するリリース情報が表示されます。このレポートには、「バージョン・バナー」(データベース設定)および「各国語サポート・パラメータ」(グローバリゼーション・サポート用のNLS_xxxパラメータ値)が表示されます。
-
すべてのオブジェクト・レポート
これらのレポートには、ユーザーが保持するオブジェクトのみではなく、特定のデータベース接続に関連付けられたユーザーがアクセスできるすべてのオブジェクトに関する情報が表示されます。
-
すべてのオブジェクト: 各オブジェクトに関して、所有者、名前、タイプ(表、ビュー、索引など)、状態(有効または無効)、作成日、およびデータ定義言語(DDL)操作が最後に実行された日付が表示されます。最後にDDLが実行された日付は、特定の日時以降にオブジェクト定義が変更されているかどうかを確認する際に役立つ場合があります。
-
コレクション・タイプ: 各コレクション・タイプに関する情報が表示されます。この情報には、型の所有者、要素型の名前と所有者、および型に依存する特定の情報が含まれます。
-
依存性: 参照が設定されている各オブジェクトに関して、そのオブジェクトへの参照(そのオブジェクトの使用状況)に関する情報が表示されます。
-
無効なオブジェクト: 無効な状態のすべてのオブジェクトが表示されます。
-
タイプ別オブジェクト数: 特定の所有者に関連付けられた各オブジェクト・タイプに関して、オブジェクト数が表示されます。このレポートは、非常に多くのオブジェクト、特に特定のタイプのオブジェクトを作成したユーザーの識別に役立つ場合があります。
-
パブリック・データベース・リンク: すべてのパブリック・データベース・リンクが表示されます。
-
パブリック・シノニム: すべてのパブリック・シノニムが表示されます。
-
-
Application Expressレポート
これらのレポートには、Oracle Application Express 3.0.1以上のアプリケーション、ページ、スキーマ、UIのデフォルト値およびワークスペースに関する情報が表示されます。Oracle Application Express 3.0.1以上のアプリケーションを所有するスキーマの接続を選択すると、Application Expressレポートには、アプリケーション、ページ、スキーマ、UIのデフォルト値およびワークスペースに関する情報が表示されます。詳細は、『Application Express管理ガイド』を参照してください。
-
ASHおよびAWRレポート
これらのレポートには、アクティブ・セッション履歴(ASH)および自動ワークロード・リポジトリ(AWR)機能が提供する情報が表示されます。
-
データベース管理者レポート
これらのレポートには、システム・リソースの使用状況に関する情報が表示されます。この情報は、記憶域、ユーザー・アカウントおよびセッションの効率的な管理に役立つ場合があります。(ほとんどのデータベース管理者レポートを参照するには、データベース接続のユーザーにDBAロールが必要です。)
-
すべての表: 表レポート(「品質保証」レポートを含む)としても分類されているレポートが含まれます。
-
カーソル: セッションごとのカーソル数(オープン・カーソル数およびカーソルの詳細を含む)など、カーソルに関する情報が表示されます。
-
データベース・パラメータ: すべてのデータベース・パラメータに関する情報、またはデフォルト値以外の値が設定されているデータベース・パラメータのみに関する情報が表示されます。
-
ロック: 各ロックに関連付けられているユーザーなど、ロックに関する情報が表示されます。
-
セッション: 様々な基準で選択および順序付けした、セッションに関する情報が表示されます。
-
記憶域: 表領域とデータファイルの使用状況および割当てに関する情報が表示されます。
-
上位SQL: 様々な基準で選択および順序付けした、SQL文に関する情報が表示されます。この情報は、予想より多く実行されているSQL文、または予想より多くの時間がかかっているSQL文の識別に役立つ場合があります。
-
ユーザー: 様々な基準で選択および順序付けした、データベース・ユーザーに関する情報が表示されます。たとえば、最も新しく作成されたユーザー、有効期限が切れたユーザー・アカウント、オブジェクト・タイプごとの使用ユーザー、各ユーザーが所有するオブジェクト数を特定できます。
-
-
データ・ディクショナリ・レポート
これらのレポートには、データベースでアクセスできるデータ・ディクショナリ・ビューに関する情報が表示されます。データ・ディクショナリ・ビューには、ALL_OBJECTS、USER_TABLESなどがあります。
-
ディクショナリ・ビュー列: 各Oracleデータ・ディクショナリ・ビューに関して、ビューの列に関する情報が表示されます。
-
ディクショナリ・ビュー: 各Oracleデータ・ディクショナリ・ビューと(ほとんどの場合は)その内容または目的に関するコメントが表示されます。
-
-
ジョブ・レポート
これらのレポートには、データベースで実行されているジョブに関する情報が表示されます。
-
すべてのジョブ: データベースで実行されているすべてのジョブに関する情報が表示されます。この情報には、前回の実行、現在の実行およびスケジュールされている次回の実行の開始時間が含まれます。
-
DBAジョブ: DBAユーザーがデータベース接続に関連付けられている各ジョブに関する情報が表示されます。この情報には、前回の実行、現在の実行およびスケジュールされている次回の実行の開始時間が含まれます。
-
ジョブ: データベース接続に関連付けられたユーザーが、ログ・ユーザー、権限ユーザーまたはスキーマ・ユーザーである各ジョブに関する情報が表示されます。この情報には、前回の実行、現在の実行およびスケジュールされている次回の実行の開始時間が含まれます。
-
-
PLSQLレポート
これらのレポートには、PL/SQLオブジェクトに関する情報が表示され、それらのオブジェクトのソースを検索できます。
-
プログラム・ユニット引数: プログラム・ユニットの各引数(パラメータ)に関して、プログラム・ユニット名、引数の位置(1、2、3など)、引数名、および引数が入力のみ(In)か、出力のみ(Out)か、または入力と出力の両方(In/Out)かが表示されます。
-
ソース・コードの検索: 各PL/SQLオブジェクトに関して、各行のソース・コードが表示されます。指定した変数が使用されている箇所を、ソースで検索できます。
-
ユニット行数: 各PL/SQLオブジェクトに関して、ソース・コードの行数が表示されます。この情報は、複雑なオブジェクトを識別する際に役立つ場合があります(たとえば、簡略化したり、複数のオブジェクトに分割することが必要なコードを識別する場合)。
-
-
セキュリティ・レポート
これらのレポートには、権限を付与されたユーザーに関する情報と、場合によっては、権限を付与したユーザーに関する情報が表示されます。この情報は、データベース管理者が、発生する可能性があるセキュリティの問題と脆弱性を理解し、適切な処置を決定する際に役立つ場合があります(たとえば、特定の権限が不要なユーザーからその権限を取り消す場合)。
-
監査中: 監査ポリシーに関する情報が表示されます。
-
暗号化: 暗号化された列に関する情報が表示されます。
-
権限付与および権限: 次のレポートが含まれます。
-
列権限: 特定の表の特定の列に対して付与された各権限に関して、権限を付与したユーザー、権限が付与されたユーザー、表、権限、および権限が付与されたユーザーがその権限を他のユーザーに付与できるかどうかが表示されます。
-
オブジェクト権限付与: 特定の表に対して付与された各権限に関して、権限を付与したユーザー、権限が付与されたユーザー、表、権限、および権限が付与されたユーザーがその権限を他のユーザーに付与できるかどうかが表示されます。
-
ロール権限: 付与された各ロールに関して、ロールが付与されたユーザー、ロール、ロールがADMINオプションとともに付与されたかどうか、およびロールがユーザーのデフォルト・ロールとして指定されているかどうかが表示されます。
-
システム権限: データベース接続に関連付けられたユーザーに付与された各権限に関して、権限、および権限がADMINオプションとともに付与されたかどうかが表示されます。
-
-
ポリシー: ポリシーに関する情報が表示されます。
-
パブリック権限付与: PUBLICロールに付与された権限に関する情報が表示されます。
-
-
ストリーム・レポート
これらのレポートには、ストリーム・ルールに関する情報が表示されます。
-
すべてのストリーム・ルール: すべてのストリーム・ルールに関する情報が表示されます。この情報には、ストリームのタイプと名前、ルール・セットの所有者と名前、ルールの所有者と名前、ルール・セットのタイプ、ストリーム・ルールのタイプ、およびサブセット化操作が含まれます。
-
ストリーム・ルール: データベース接続に関連付けられたユーザーが、ルールの所有者またはルール・セットの所有者である各ストリーム・ルールに関する情報が表示されます。この情報には、ストリームのタイプと名前、ルール・セットの所有者と名前、ルールの所有者と名前、ルール・セットのタイプ、ストリーム・ルールのタイプ、およびサブセット化操作が含まれます。
-
-
表レポート
これらのレポートには、指定した接続に関連付けられたユーザーが所有する表に関する情報が表示されます。この情報は、問題領域を識別することを目的としているわけではありませんが、使用しているリソースと要件によっては、監視または対処する必要がある問題の特定に役立つ場合があります。
表に関するレポートでは、所有者は、データベース接続に関連付けられたユーザーです。
-
列: 各表に関して、各列、各列のデータ型、および各列にNULL値を指定できるかどうかが表示されます。次のものが含まれます。
-
データ型発生: 各表の所有者に関して、各データ型とその使用回数が表示されます。
-
コメント(表および列): 各表および各表の各列に関連付けられた説明コメントが存在する場合、表示されます。また、コメントがない表のレポートも表示されます。データベース開発者が表の作成時または変更時にCOMMENT文を使用している場合、このレポートには、表および列の使用目的に関する有益な情報が表示されます。
-
制約: 制約に関連する次のレポートが含まれます。
-
すべての制約: 各表に関して、関連付けられた各制約のタイプ(一意制約、チェック制約、主キー制約、外部キー制約)や状態(有効または無効)が表示されます。
-
CHECK制約: 各チェック制約に関して、所有者、表名、制約名、制約の状態(有効または無効)、制約の指定などの情報が表示されます。
-
有効な制約、無効な制約: 状態が有効または無効な各制約に関して、表名、制約名、制約のタイプ(一意制約、チェック制約、主キー制約、外部キー制約)および状態が表示されます。無効な制約を適用するには、表を編集して、制約の状態を「有効」に設定する必要があります(表の作成/編集(拡張オプション付き)ダイアログ・ボックスの該当するタブを参照)。
-
外部キー制約: 各外部キー制約に関して、所有者、表名、制約名、制約が適用される列、制約が参照している表、参照されている表の制約などの情報が表示されます。
-
主キー制約: 主キー制約に関して、所有者、表名、制約名、制約の状態(有効または無効)、列名などの情報が表示されます。
-
一意制約: 各一意制約に関して、所有者、表名、制約名、制約の状態(有効または無効)、列名などの情報が表示されます。
-
索引: すべての索引、状態ごとの索引、タイプごとの索引および未使用の索引が含まれます。
-
組織: 専用レポートで、パーティション表、クラスタ表および索引構成表に関する情報が表示されます。
-
品質保証: (「「品質保証」レポート」を参照してください。)
-
統計: 各表に関して、前回の解析日時、行の総数、行の長さの平均、表のタイプなどの統計情報が表示されます。また、専用レポートでは、行数および行の長さの平均の大きい順に、結果が表示されます。
-
記憶域: 表領域ごとの表の数と、各表領域内の表に関する情報が表示されます。
-
トリガー: すべてのトリガー、無効なトリガーおよび有効なトリガーに関する情報が表示されます。
-
ユーザー・シノニム: すべてのユーザー・シノニムに関する情報、またはバインド変数の入力ダイアログ・ボックスに指定した文字列が含まれるユーザー・シノニムに関する情報が表示されます(このダイアログ・ボックスで文字列を入力するには、「Null」の選択を解除します)。
-
ユーザー表: すべての表に関する情報、またはバインド変数の入力ダイアログ・ボックスに指定した文字列が含まれる表に関する情報が表示されます(このダイアログ・ボックスで文字列を入力するには、「Null」の選択を解除します)。
-
「品質保証」レポート: 技術的にはエラーでなくても通常はデータベース設計に問題があるような状態を識別する表レポートです。このような問題によって、論理エラーが発生したり、エラーを回避するために追加アプリケーション・コーディングが必要になったり、実行時に問合せのパフォーマンスが低下するなど、様々な問題が発生する可能性があります。
-
主キーなしの表: 主キーが定義されていない表のリストが表示されます。主キーは、表の各行を一意に識別する列(または列セット)です。表に主キーを定義することは必須ではありませんが、各表に主キーを作成または指定することをお薦めします。主キー列は索引付けされ、問合せのパフォーマンスが向上します。また、主キー列は、一意かつNULL以外である必要があるため、入力データが自動的に検証されます。また、主キーを外部キーとともに使用して、参照整合性を確保できます。
-
索引なしの表: 索引がない表のリストが表示されます。表の列に索引が定義されていると、通常、その列を使用する問合せは、列に索引がない場合と比べて非常に高速で効率的になります(特に、表に多くの行が存在し、列に多くの異なるデータ値が存在する場合)。
-
索引付けされていない外部キー付きの表: 索引が関連付けられていない外部キーが表示されます。外部キーは、主キーを参照する列(または列セット)です。外部キーのそれぞれの値は、関連付けられた主キーの値と一致する必要があります。多くの場合、外部キー列は問合せで結合され、通常、索引によって、その列を使用する問合せのパフォーマンスが大幅に向上します。索引付けされていない外部キーが問合せで使用されている場合、その外部キーに索引を作成すると、実行時のパフォーマンスを向上できることがあります。
-
-
XMLレポート
これらのレポートには、XMLオブジェクトに関する情報が表示されます。
-
XMLスキーマ: XMLオブジェクトを所有する各ユーザーに関して、スキーマ定義が含まれるXSDファイルのスキーマURLなど、各オブジェクトに関する情報が表示されます。
-
データベース接続のトラブルシューティング
データベースを操作する際に発生する可能性のある一般的な問題が多数あります。問題の内容および解決方法の提案を確認します。
この項では、データベースの接続で問題が発生した場合に役立つ情報を示します。
互換性のないJDKバージョンを使用するデータベースへのデプロイ
データベースにJavaをデプロイするときに「ORA-29552: 検証の警告: java.lang.UnsupportedClassVersionError
」が表示された場合には、そのプロジェクトに使用されているJDKのバージョンを、データベースで使用しているものと互換性のあるバージョンに変更する必要があります。
JDKの詳細は、JDeveloperの認定情報(http://www.oracle.com/technetwork/developer-tools/jdev/documentation/index.html
)を参照してください。
データベースで使用されるJDKの詳細は、データベースのドキュメントを参照してください。
プロジェクトのJava SEをプロジェクトごとに変更する方法の詳細は、「個々のプロジェクトのプロパティの設定方法」でターゲットJava SEの設定に関する項を参照してください。
旧リリースのJava SEは、http://www.oracle.com/technetwork/java/javase/downloads/index.html
からダウンロードできます。