Oracle Data Integrator で JDBC-ODBC Bridge データをETL

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
Oracle Data Integrator を使用してJDBC-ODBC Bridge のデータをデータウェアハウスに転送する方法を説明します。

JDBC 標準を使用して、既存のスキルを活かしながらJDBC-ODBC Bridge に読み書きできます。 Oracle Data Integrator(ODI)などの ETL ツールにドロップインで統合できる CData JDBC Driver for JDBC-ODBC Bridge を使えば、リアルタイムのJDBC-ODBC Bridge のデータをデータウェアハウス、ビジネスインテリジェンス、ビッグデータテクノロジーに接続できます。

JDBC 接続により、ODI でJDBC-ODBC Bridge を他のデータベースと同様に扱うことができます。RDBMS と同じように、フラットファイルではなくリアルタイムでJDBC-ODBC Bridge API に直接接続できます。

この記事では、JDBC ベースの ETL(JDBC-ODBC Bridge から Oracle へ)の手順を説明します。JDBC-ODBC Bridge エンティティのデータモデルをリバースエンジニアリングした後、マッピングを作成し、データロード戦略を選択します。ドライバーが SQL-92 をサポートしているため、組み込みの SQL to SQL Loading Knowledge Module を選択するだけで簡単に実現できます。

ドライバーのインストール

ドライバーをインストールするには、インストールフォルダにあるドライバー JAR(cdata.jdbc.jdbcodbc.jar)と .lic ファイル(cdata.jdbc.jdbcodbc.lic)を、ODI の適切なディレクトリにコピーします。

  • UNIX/Linux(エージェントなし): ~/.odi/oracledi/userlib
  • UNIX/Linux(エージェントあり): ~/.odi/oracledi/userlib および $ODI_HOME/odi/agent/lib
  • Windows(エージェントなし): %APPDATA%\Roaming\odi\oracledi\userlib
  • Windows(エージェントあり): %APPDATA%\odi\oracledi\userlib および %APPDATA%\odi\agent\lib

ODI を再起動してインストールを完了します。

モデルのリバースエンジニアリング

モデルをリバースエンジニアリングすると、ドライバーのJDBC-ODBC Bridge のデータに対するリレーショナルビューのメタデータが取得されます。リバースエンジニアリング後は、リアルタイムのJDBC-ODBC Bridge のデータをクエリし、JDBC-ODBC Bridge テーブルに基づいてマッピングを作成できます。

  1. ODI でリポジトリに接続し、New -> Model and Topology Objects をクリックします。
  2. 表示されるダイアログの Model 画面で、以下の情報を入力します。
    • Name: JDBCODBC と入力します。
    • Technology: Generic SQL を選択します(ODI バージョン 12.2 以降の場合は Microsoft SQL Server を選択)。
    • Logical Schema: JDBCODBC と入力します。
    • Context: Global を選択します。
  3. 表示されるダイアログの Data Server 画面で、以下の情報を入力します。
    • Name: JDBCODBC と入力します。
    • Driver List: Oracle JDBC Driver を選択します。
    • Driver: cdata.jdbc.jdbcodbc.JDBCODBCDriver と入力します。
    • URL: 接続文字列を含む JDBC URL を入力します。 To connect to an ODBC data source, specify either the DSN (data source name) or specify an ODBC connection string: Set Driver and the connection properties for your ODBC driver.

      組み込みの接続文字列デザイナー

      JDBC URL の作成には、JDBC-ODBC Bridge JDBC Driver に組み込まれている接続文字列デザイナーをご利用ください。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行します。

      java -jar cdata.jdbc.jdbcodbc.jar
      

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      一般的な接続文字列は以下のとおりです。

      jdbc:jdbcodbc:Driver={ODBC_Driver_Name};Driver_Property1=Driver_Value1;Driver_Property2=Driver_Value2;...
      
  4. Physical Schema 画面で、以下の情報を入力します。
    • Name: ドロップダウンメニューから選択します。
    • Database (Catalog): CData と入力します。
    • Owner (Schema): JDBC-ODBC Bridge でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は JDBCODBC と入力します。
    • Database (Work Catalog): CData と入力します。
    • Owner (Work Schema): JDBC-ODBC Bridge でスキーマを選択した場合は選択したスキーマを入力し、それ以外の場合は JDBCODBC と入力します。
  5. 開いたモデルで Reverse Engineer をクリックして、JDBC-ODBC Bridge テーブルのメタデータを取得します。

JDBC-ODBC Bridge のデータの編集と保存

リバースエンジニアリングが完了すると、ODI でJDBC-ODBC Bridge のデータを操作できるようになります。 JDBC-ODBC Bridge のデータを編集・保存するには、Designer ナビゲーターで Models アコーディオンを展開し、テーブルを右クリックして Data をクリックします。Refresh をクリックするとデータの変更を取得できます。変更が完了したら Save Changes をクリックします。

ETL プロジェクトの作成

以下の手順に従って、JDBC-ODBC Bridge からの ETL を作成します。ODI Getting Started VM に含まれるサンプルデータウェアハウスに Account エンティティをロードします。

  1. SQL Developer を開き、Oracle データベースに接続します。Connections ペインでデータベースのノードを右クリックし、new SQL Worksheet をクリックします。

    または、SQLPlus を使用することもできます。コマンドプロンプトから以下を入力します。

    sqlplus / as sysdba
    
  2. 以下のクエリを入力して、ODI_DEMO スキーマにあるサンプルデータウェアハウスに新しいターゲットテーブルを作成します。以下のクエリでは、JDBC-ODBC Bridge の Account テーブルに対応するいくつかのカラムを定義しています。
    CREATE TABLE ODI_DEMO.TRG_ACCOUNT (NAME NUMBER(20,0),Id VARCHAR2(255));
    
  3. ODI で Designer ナビゲーターの Models アコーディオンを展開し、ODI_DEMO フォルダ内の Sales Administration ノードをダブルクリックします。モデルエディターでモデルが開きます。
  4. Reverse Engineer をクリックします。TRG_ACCOUNT テーブルがモデルに追加されます。
  5. プロジェクト内の Mappings ノードを右クリックし、New Mapping をクリックします。マッピングの名前を入力し、Create Empty Dataset オプションのチェックを外します。Mapping Editor が表示されます。
  6. Sales Administration モデルから TRG_ACCOUNT テーブルをマッピングにドラッグします。
  7. JDBC-ODBC Bridge モデルから Account テーブルをマッピングにドラッグします。
  8. ソースのコネクタポイントをクリックし、ターゲットのコネクタポイントにドラッグします。Attribute Matching ダイアログが表示されます。この例では、デフォルトのオプションを使用します。ターゲットカラムのプロパティにターゲット式が表示されます。
  9. Mapping Editor の Physical タブを開き、TARGET_GROUP 内の ACCOUNT_AP をクリックします。
  10. ACCOUNT_AP のプロパティで、Loading Knowledge Module タブの LKM SQL to SQL (Built-In) を選択します。

マッピングを実行して、JDBC-ODBC Bridge のデータを Oracle にロードできます。

はじめる準備はできましたか?

JDBC-ODBC Bridge の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

ODBC Connectivity from Java Icon JDBC-ODBC Bridge Driver お問い合わせ

JDBC-ODBC Bridge は、あらゆるJava アプリからWindows、Linux、Mac 上のODBC データソースへのJDBC アクセスを提供します。CData JDBC-ODBC Bridge は、レポートや分析にJava ベースのツールを使用する場合でも、カスタムJava ソリューションを構築する場合でも、あらゆるODBC データソースに簡単に接続できます。