各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
Oracle Data Integrator(ODI)はOracle エコシステムのハイパフォーマンスなデータ統合プラットフォームです。CData JDBC Driver for MySQL を使えば、OCI をはじめとするETL ツールからMySQL のデータにJDBC 経由で簡単に読み取りと書き込みを実現できます。リアルタイムMySQL のデータをデータウェアハウス、BI・帳票ツール、CRM、基幹システムなどに統合すれば、データ活用もぐっと楽に。
CData のコネクタを使えば、MySQL API にリアルタイムで直接接続して、ODI 上で通常のデータベースと同じようにMySQL のデータを操作できます。MySQL エンティティのデータモデルを構築、マッピングを作成し、データの読み込み方法を選択するだけの簡単なステップでMySQL のデータのETL が実現できます。
ドライバーをインストールするには、インストールフォルダにあるドライバーのJAR ファイルと.lic ファイルをODI の適切なディレクトリにコピーします。
ODI を再起動してインストールを完了します。
ODI の機能を使ってモデルをリバースエンジニアリングすることで、ドライバー側で取得したMySQL のデータのリレーショナルビューに関するメタデータが取得できます。リバースエンジニアリング後、リアルタイムMySQL のデータにクエリを実行してMySQL テーブルのマッピングを作成できます。
Server およびPort プロパティがMySQL への接続には必須です。IntegratedSecurity をFALSE に設定した場合、User、Password も必須になります。 オプションで、Database を設定することもできます。Database は設定がない場合すべてのデータベースを使えるようになります。
パスワード方式によるSSH接続時に必要なプロパティ一覧を以下に示します。
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Password;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHPassword=sshpasswd;
公開鍵認証によるSSH接続時に必要なプロパティ一覧を以下に示します。
接続文字列形式では以下のようになります。
User=admin;Password=adminpassword;Database=test;Server=mysql-server;Port=3306;UseSSH=true;SSHAuthMode=Public_Key;SSHClientCertType=PUBLIC_KEY_FILE;SSHPort=22;SSHServer=ssh-server;SSHUser=root;SSHClientCert=C:\Keys\key.pem;
JDBC URL の作成の補助として、MySQL JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからjar ファイルを実行します。
java -jar cdata.jdbc.mysql.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
一般的な接続文字列は次のとおりです。
jdbc:mysql:User=myUser;Password=myPassword;Database=NorthWind;Server=myServer;Port=3306;
リバースエンジニアリング後、ODI でMySQL のデータを操作できるようになります。 MySQL のデータを編集し保存するには、Designer ナビゲーターでモデルアコーディオンを展開し、テーブルを右クリックして「Data」をクリックします。「Refresh」をクリックしてデータの変更を取得します。変更が完了したら「Save Changes」をクリックします。
次の手順に従って、MySQL からETL を作成します。Orders エンティティをODI Getting Started VM に含まれているサンプルデータウェアハウスにロードします。
SQL Developer を開き、Oracle データベースに接続します。Connections ぺインでデータベースのノードを右クリックし、「New SQL Worksheet」をクリックします。
もしくは、SQLPlus を使用することもできます。コマンドプロンプトから、以下のように入力します。
sqlplus / as sysdba
CREATE TABLE ODI_DEMO.TRG_ORDERS (FREIGHT NUMBER(20,0),ShipName VARCHAR2(255));
これで、マッピングを実行してMySQL のデータをOracle にロードできます。