sql >> データベース >  >> RDS >> Oracle

IRIソフトウェアをOracleに接続する

    概要

    Oracleのようなデータベースへの接続は、アプリケーションのインストールと構成の中で最も苛立たしい部分になる可能性があります。 JDBCおよびODBCドライバーで使用できる多くのオプションは、気が遠くなる可能性があります。頭字語だけで頭痛を引き起こすのに十分です。

    IRIソフトウェアスタックは、さまざまな目的でJDBCドライバーとODBCドライバーの両方を使用します。 IRI Workbenchでは、データベース内のデータとメタデータにアクセスするためにJDBC接続が必要です。 IRIWorkbenchの使用は完全にオプションです。ただし、データベースメタデータの統合に加えて、さまざまなウィザードとエディターを使用すると、IRIデータ処理エンジンであるSortCLで使用されるジョブスクリプトと構成ファイルの作成と保守がはるかに簡単になります。

    JDBC接続を備えたIRIWorkbenchは、半構造化および非構造化データストアとドキュメントの検出とマスキングのためにIRIDarkShield®を実行するためにも必要です。 ODBCドライバーと接続は、IRIVoracity®ETLジョブの実行時実行、およびデータベース内のデータをソースおよびターゲットにするCoSort®、RowGen®、FieldShield®、NextForm®などのコンポーネントツールに必要です。

    この記事の手順と例は、Oracle Easy Connect(EZCONNECT)方式に基づいています。何らかの理由でOracleデータベースがEZCONNECTを使用できない場合は、Oracleが提供するドキュメントやその他のリソースを利用して、接続を構成する必要があります。

    情報を収集する

    接続を構成する前に、データベースについて知っておく必要のある詳細がいくつかあります。この情報は、データベース管理者から入手できる必要があります。データベースを自分で管理する場合、この情報は listener.oraにあります。 構成ファイル。

    接続が必要なデータベースについて、表1に示されている詳細を収集します。この情報は、JDBC接続とODBC接続の両方に必要です。

    表1-データベース接続を作成するために必要な詳細。

    必要な情報の詳細:

    • ホストは、ホスト名またはIPアドレスの場合があります。ホスト名は、暗黙のドメイン、ドメインを含む完全修飾名を含む1つの単語にすることができます。
    • ポートは単一の整数です。デフォルトは1521ですが、データベース管理者によって変更される場合があります。
    • すべてのデータベースインスタンスにはSIDがあります。同じホストとポートを共有するインスタンスが複数ある場合、SIDは一意である必要があります。インスタンスがSIDではなくサービス名で参照される場合があります。接続しているデータベースにサービス名がある場合は、それを使用する必要があります。
    • ユーザー名は、使用する1つまたは複数のスキーマに関連付けられたOracleユーザー名である必要があります。スキーマ権限の範囲が制限されているユーザーを選択することをお勧めします。 SYSTEMユーザーアカウントを使用すると、管理できない数のスキーマとテーブルが表示される可能性があります。
    • パスワードは指定されたユーザー名と一致する必要があります。

    正しい情報が収集されると、ODBCおよびJDBC接続を作成する準備が整います。

    ODBC

    ODBCマネージャーとドライバーには、32ビットと64ビットの2ビットアーキテクチャがあります。マネージャーとドライバーのビットアーキテクチャは必須 接続を使用するアプリケーションのビットアーキテクチャと一致します。 Windows®では、64ビットオペレーティングシステムで実行している場合でも、IRIランタイムエンジンは多くの場合32ビットの種類です。 LinuxおよびUnixでは、64ビットアプリケーションが優先されます。

    ODBCドライバーのビットアーキテクチャーを選択する前に、CoSortやFieldShieldなどのSortCLを使用するIRIランタイム製品のビットアーキテクチャーを理解することが重要です。 IRIエンジンのビットアーキテクチャがわからない場合は、versionコマンドを使用して確認できます。コマンドラインを作成し、実行します:

    sortcl / v

    IRI Workbenchで、ヘルプ>バージョン情報 メニュー項目にも同じ結果が表示されます。表2に示すように、ビットアーキテクチャはバージョン文字列に含まれています。

    表2–CoSortビットアーキテクチャの決定。

    正しいビットアーキテクチャを決定します。使用する正しいODBCマネージャーを識別し、適切なODBCドライバーをダウンロードしてインストールするために必要になります。 Linux、Unix、およびMacでのODBCマネージャーとドライバーの使用はより複雑であり、この記事の範囲を超えています。

    ここでの例では、MicrosoftがWindowsで提供しているODBCマネージャーを使用します。別のオペレーティングシステムを使用していてサポートが必要な場合は、IRIの担当者にお問い合わせください。

    ODBC接続は、データソース名(DSN)と呼ばれる一意の識別子で識別されます。 Microsoftは、ODBCデータソースアドミニストレータを提供しています DSNを定義および構成するためのWindowsを使用したプログラム。

    データベースアクセスを必要とするアプリケーションとドライバに一致する正しいビットアーキテクチャを備えたODBCアドミニストレータプログラムを選択することが重要です。表3からプログラムを選択します。32ビットプログラムがSysWOW64フォルダーにあり、64ビットプログラムがSystem32フォルダーにあることは混乱を招きます。

    表3–ODBCデータソースアドミニストレータプログラム。

    ワークステーションにOracleデータベースサーバーがインストールされている場合は、OracleODBCドライバがすでにインストールされている可能性があります。 ODBCデータソースアドミニストレータプログラムを実行することにより、OracleODBCドライバの存在を確認できます。

    ドライバーを見てください 図4に示すようなエントリのタブ。名前は必須です。 Oracleという単語で始まります 。 できません Microsoft ODBC for Oracleという名前のドライバを使用します 、これはしません 仕事。

    図4–ODBCデータソースアドミニストレータプログラムのOracleドライバ。

    ドライバーはアルファベット順にリストされています。 Oracleドライバが表示されない場合は、Oracleクライアントをインストールする必要があります。 Oracleには、データベースのバージョンごとに異なるバージョンのクライアントがあります。通常、古いデータベースで新しいクライアントを使用できますが、必ずしもその逆ではありません。

    Oracle18c用の32ビットクライアントをインストールするとします。このドキュメントの執筆時点では、インストーラはOracleからダウンロードできました。ダウンロードページに移動し、テキスト Microsoft Windows x86(32ビット)用のOracle Database 18cクライアント(18.3)を探します。 、図5に示すように。

    リンクされたファイルNT_180000_client.zipをダウンロードします 。クライアントインストーラをダウンロードするには、オンラインのOracleアカウントが必要です。ログインしていない場合は無料で登録できます。

    図5–ODBCおよびJDBCドライバーを含むOracleクライアントのダウンロード。

    ダウンロードしたzipファイルを一時フォルダに解凍してクライアントをインストールします。一時フォルダに移動し、 client32を確認します setup.exeのフォルダ 、このプログラムを実行してクライアントをインストールします。クライアントをインストールするには、管理者権限が必要です。

    図6に示すように、インストールの種類を選択します。ODBCドライバー、JDBCドライバー、およびSQL * Plusコマンドラインユーティリティの場合は、インスタントクライアントを選択します。 タイプ。すべての管理ツールをインストールする場合は、管理者を選択します タイプ。

    インストーラーウィザードの指示に従います。追加のオプションについては、おそらくデフォルト値を受け入れることができます。インストーラーウィザードの下部にヘルプボタンがあります。この特定のインストーラーの詳細については、Oracleにオンラインで入手可能な追加のドキュメントがあります。

    図6–Oracleクライアントのインストールタイプ。

    ODBCドライバをインストールしたら、Oracleデータベース接続用のDSNを構成できます。表3で指定されているODBCデータソースアドミニストレータプログラムを実行します。タブを選択して、ユーザーDSNを作成します。 またはシステムDSN 。ユーザーDSNは、それを作成したユーザーにのみ表示されます。

    システムDSNは、そのワークステーションのすべてのユーザーに表示されます。ユーザーDSNを作成するのが最も一般的であるため、そのタブを選択します。 追加を選択します ボタンをクリックして、新しい接続DSNを作成します。図7に示すように、正しいOracleドライバを選択してから、終了を選択します。 ボタン。

    図7–OracleODBCドライバーの選択。

    OracleODBCドライバー構成が表示されます 図9に示すようなダイアログ。接続に名前を付けます。これはDSNです。アンダースコア、ハイフン、ピリオドを除いて、DSNでは空白や句読点を避けるのが最善です。

    接続しているデータベースを説明する名前にします。 TNSサービス名は、使用されているOracle接続方法によって異なります。

    図8の例では、EZCONNECTと、表8に収集された例の詳細を使用しています。

    表8–データベース接続の例の詳細。

    EZCONNECT接続文字列の形式は次のとおりです。ホストポート / ServiceName

    ダイアログには、パスワードを保存するための個別の場所がないことに注意してください。ただし、Oracleでは、図9の詳細例に示すように、パスワードをユーザー名に追加し、スラッシュで区切ることでパスワードを保存できます。

    パスワードはプレーンテキストで保存されますが、DSNは、その時点でワークステーションにログオンしているユーザーにのみ表示され、ほとんどの場合、重大なセキュリティリスクをもたらすことはありません。セキュリティポリシーのあるIT部門がある場合、この方法でパスワードを保存することは許可されない場合があります。接続が確立されるたびにパスワードを入力できます。

    パスワードをIRIWorkbenchに保存することもできます。このパスワードは、このDSNを介してデータにアクセスするジョブに適用されます。ただし、許可されている場合は、以下に示すようにパスワードをDSNに保存するのが最も便利な方法です。

    図9–ドライバー構成ダイアログとサンプルの詳細。

    これらの詳細を構成した後、テスト接続を選択します ボタン。うまくいけば、接続が成功しましたが表示されます 結果、図10に示すように。

    詳細または接続に問題がある場合、またはパスワードの保存を省略した場合は、図11に示すように、[Oracle ODBC Driver Connect]ダイアログが表示されます。これにより、不足している詳細を入力したり、変更したりできます。詳細はすでに入力されています。

    編集によって接続が成功する場合は、 OK を選択する前に、図9に示す構成ダイアログで編集を適用する必要があります。 。構成ダイアログの下部には、オプションの4つのタブがあります。これらのオプションは、必要であることが確実な場合にのみ変更してください。

    図10–成功した接続テスト。

    図11–他の詳細を試すか、パスワードを入力する機会。

    これで、動作するODBC DSNができたので、IRIWorkbenchでJDBC接続をセットアップできます。 ODBC DSNで使用されたのとまったく同じ詳細を使用して、IRIWorkbenchでJDBC接続を作成する必要があります。 ODBC DSNとJDBC接続は、後でIRIWorkbenchの設定で相互にリンクされます。

    JDBC

    JDBCドライバーにはビットアーキテクチャがないため、JDBCドライバーの選択はODBCよりも少し簡単です。 Oracle ODBCクライアントのインストール方法によっては、JDBCドライバがすでにインストールされている可能性があります。 jdbcという名前のフォルダを探します 、Oracleクライアントのインストールフォルダの下。 jdbcの内部 フォルダはlibという名前のフォルダである必要があります 、JDBC javaアーカイブ(JAR)ファイルが含まれています。使用するJARファイルの名前は、OracleおよびJavaのバージョンによって異なります。通常、 odbc8のような名前のドライバーファイルを使用します。 .jar。番号は使用されているJavaのバージョンに関連しており、異なる場合があります。

    データベースサーバーまたはクライアントのインストールによってJARファイルがまだインストールされていない場合は、OracleのWebサイトで適切なダウンロードを検索できます。

    IRI Workbench

    IRI Workbenchは、すべてのIRI製品のジョブ・スクリプトを作成、保守、および実行するためのEclipse™上に構築された統合開発環境(IDE)です。 CoSort、RowGen、FieldShield、NextFormなどのIRI製品のジョブを処理することに加えて、それらを含むVoracityプラットフォームのメインユーザーインターフェイスでもあります。

    IRI Workbench内のJDBC接続は、次のような多くの目的で使用されます。

    • ジョブの設計、データの分類、データの検出のためのデータ値の調査。
    • テーブルとスキーマ構造を参照しています。
    • 自動および手動のメタデータの抽出、変換、交換。
    • SQLコマンドとクエリを実行し、結果を調べます。
    • フラットファイルとの間のデータ値の一括抽出と読み込み。
    • 実体関連(ER)図の生成。

    IRIWorkbenchでデータベース接続を作成する方法はいくつかあります。最も一般的な方法は、データソースエクスプローラー(DSE)ビューを使用することです。 DSEビューはナビゲーターであり、通常はIRIWorkbenchウィンドウの左端に沿ってドッキングされます。閉じている場合は、2つの簡単な方法で再度開くことができます。

    • メインメニューから、ウィンドウ>パースペクティブ>パースペクティブのリセットを選択します。 。
    • メインメニューから、ウィンドウ>ビューの表示>データソースエクスプローラーを選択します。 。

    IRI Workbenchのデータベース接続は、接続プロファイルと呼ばれます。 、プロフィールに短縮されることもあります 。 DSEビューから新しいプロファイルを作成するには、新しい接続プロファイルを選択します。 図12に示すように、ビューのミニツールバーのボタン。

    図12–DSEの新しい接続プロファイルツールバーボタン。

    新しい接続プロファイルの最初のページ ウィザードで、 Oracleを選択します 接続プロファイルタイプのリストから 。プロファイルにDSNと同様の名前を付けます。説明的なものにし、不要な空白や句読点を避けます。図13は、ODBCDSNに使用されているのと同じ名前のこのページを示しています。

    図13–Oracle接続プロファイルウィザードページ。

    次へ>を選択します ボタンをクリックして、ウィザードの次のページに移動します。図14に示すように、アイコンボタンを使用して新しいドライバー定義を作成する必要があります。

    図14–新しいドライバー定義ボタン。

    新しいドライバーの定義 ウィザードには3つのタブがあります。最初のタブの名前/タイプ Oracle Thin Driverを選択します データベースのバージョンと一致するテンプレートのバージョン。図15は、Oracle18cデータベースのテンプレートの選択を示しています。

    図15–新しいドライバー定義ウィザードページの[名前/タイプ]タブ。

    2番目のタブJARリスト は、JDBCドライバライブラリファイルを指定するためのものです。 JARファイルで既存のJARファイルを選択します リスト。次に、右側の[JAR / Zipの編集]ボタンを選択して、JARファイルの場所を参照します。

    このドキュメントのJDBCセクションで説明されているOracleJDBCドライバライブラリの場所を見つけます。図16に、JARリストを示します。 JDBCドライバーファイルを見つけた後のタブ。

    図16–JDBCドライバーファイルを配置した後のJARリスト。

    3番目の最後のタブはドライバーのプロパティです 図17に示すように、このタブで行う必要がある唯一の変更は、接続URLプロパティに末尾のスラッシュがまだ存在しない場合は、それを追加することです。

    図17–接続URLの末尾にスラッシュが付いた[ドライバーのプロパティ]タブ。

    [OK]ボタンを選択して、ドライバーの定義を完了します。これで、接続の詳細プロパティに、ODBC DSN作成セクションの表8で使用したのと同じ値を入力し、パスワードの保存を選択できます。 チェックボックス。

    図18は、[接続の詳細]ページを示しています。すべて、接続のテストを試す準備ができています。 ボタン。 成功が表示されない場合 メッセージボックスで、追加情報についてエラーメッセージボックスの詳細を確認してください。これは、データベースサーバー、ネットワーク接続、または接続の詳細に問題があることを示している可能性があります。

    図18–完成した接続の詳細ページ。データベース接続をテストする準備ができています。

    テストが成功した場合は、終了を選択できます ボタンをクリックし、データベースに接続します。テストが失敗した場合でも、終了を選択することをお勧めします。 ボタンをクリックすると、エラーを調査している間、これまでに行った作業が保持されます。後で接続プロファイルのプロパティを編集し、問題を修正して、再試行することができます。

    図19は、正常に接続した後のDSEビューを示しています。 Oracleは多数の内部スキーマを使用しており、ユーザーに付与された権限によっては、関心のあるデータ値を持つスキーマ以外にもかなりの数のスキーマが表示される場合があります。

    接続プロファイルは、スキーマ、さらにはテーブルレベルでフィルタリングできます。これにより、関心のあるデータ値を簡単に見つけて操作できるようになります。

    図19–スキーマフィルタリングなしのDSEビュー。

    最も単純なタイプのスキーマフィルタリングでは、構成されたユーザーが所有するスキーマを除くすべてのスキーマが非表示になります。 Schemasフォルダーを右クリックして、コンテキストメニューを表示します。 プロパティを選択します 図20に示すように、コンテキストメニューから。

    図20–コンテキストメニューからのスキーマプロパティの選択。

    これにより、フィルターのプロパティが表示されます 図21に示すダイアログ。フィルターの無効化の選択を解除することから始めます。 下部にあるチェックボックス。次に、上部の[式]グループにUSERスキーマの名前を入力します。完了したら、[適用して閉じる]ボタンを選択します。

    これにより、式に一致するスキーマのみを表示および処理する、単純なフィルタリングが可能になります。はるかに複雑なフィルタリングを実行できます。詳細については、IRIブログの記事IRIWorkbenchでのテーブルフィルタリングを確認してください。

    図21–単純なスキーマフィルタリング。

    以前に使用したのと同じコンテキストメニューからスキーマリストを更新します。図22に示すように、現在表示されている唯一のスキーマは、ユーザーに属するスキーマです。

    図22–スキーマフィルタリング後のDSEビュー。

    IRIデータ接続レジストリ

    あとは、ODBCDSNとJDBC接続プロファイルを調整するだけです。 JDBC接続プロファイルを使用してIRIWorkbenchでジョブを作成する場合、どのODBCDSNが同じデータベースとユーザーに対応するかを知る必要があります。

    ウィンドウ>設定を選択して、設定でデータ接続レジストリを開きます メインメニューから。 IRI>データ接続レジストリに移動します 左側の木に。レジストリページを図23に示します。

    図23–データ接続レジストリ設定ページ。

    ODBCデータソースアドミニストレータで設定されたすべてのDSNのテーブルに行が必要です。データ接続プロファイルに一致するDSNが表示されない場合は、更新を選択してみてください ページの右側にあるボタン。

    データ接続プロファイルにマップする必要があるDSNの行を強調表示してから、編集を選択します。 ページの右側にあるボタン。これにより、データ接続レジストリが表示されます 図24に示すダイアログ。

    図24–[データ接続レジストリ]ダイアログ。

    オプションで、データ接続プロファイルで使用されたものと同じスキーマフィルターを適用できます。 しなかった ユーザー名またはパスワードをDSNに保存します。オプションで、このダイアログに保存できます。唯一の必要な このダイアログの情報は、接続プロファイルです。 下部にあります。

    完了したら、[OK]ボタンを選択します。 アクティブのチェックボックスを確認してください 図25に示すように、[列]を選択してから、[適用して閉じる]を選択します。 ボタン。

    図25–データ接続レジストリで適切に構成されたDSNエントリ。

    おめでとうございます。これで、接続されたOracleデータベースのデータの操作を開始する準備が整いました。 IRI WorkbenchからのOracle(およびその他の)データの操作に関するハウツーブログ記事のこのインデックスページを参照してください。

    用語集


    1. refcursorを消費して返すPostgreSQL関数のテスト

    2. 実行計画の品質に対する10の一般的な脅威

    3. データベーストリガーが再発しないようにするにはどうすればよいですか?

    4. Oracle Apps 11i/R12でFRDトレースを生成する方法