9 Microsoft Excel
この章の内容は次のとおりです。
9.1 概要
Oracle Data Integrator (ODI)では、保存されているデータがMicrosoft Excelのワークブックに統合されます。これにより、リバース・エンジニアリングと、スプレッドシートでの読取りおよび書込みの操作が可能になります。
9.1.1 概念
各Microsoft Excelデータ・サーバーは、ローカル・ネットワーク経由でアクセス可能な1つのMicrosoft Excelワークブック(.xls
ファイル)に対応します。このデータ・サーバーにの下に単一の物理スキーマが作成されます。
このスキーマ内で、1つのスプレッドシート、またはワークブックの特定の名前付き領域が、Oracle Data Integrator内の1つのデータストアとして表示されます。
9.1.2 ナレッジ・モジュール
Oracle Data Integratorには、Microsoft Excelテクノロジ固有のナレッジ・モジュール(KM)は用意されていません。汎用SQL KMを使用して、Microsoft Excelデータのデータ統合および変換の操作を実行できます。詳細は、汎用SQLを参照してください。
ノート:
Excelテクノロジをステージング領域として使用することはできず、増分更新およびフロー/静的チェックはサポートされません。このため、Excelテクノロジでは次のKMは機能しません。
-
RKM SQL (PYTHON)
-
LKM File to SQL
-
CKM SQL
-
IKM SQL Incremental Update
-
IKM SQL Control Append
-
LKM SQL to SQL (PYTHON)
9.2 インストールおよび構成
Microsoft Excelナレッジ・モジュールの使用を開始する前に、この項の情報を必ず読んでください。
9.2.1 システム要件および動作要件
インストールを実行する前に、システム要件および動作要件のドキュメントを読んで、使用する環境がインストールする製品の最低インストール要件を満たすことを確認する必要があります。
サポートされているプラットフォームおよびバージョンのリストには、次のOracle Technical Network (OTN)からアクセスできます。
http://www.oracle.com/technetwork/middleware/data-integrator/documentation/index.html。
9.2.2 固有の要件
Oracle Data IntegratorでMicrosoft Excelファイルを使用するための固有の要件はありません。
ノート:
ODIには、Microsoft Excelにアクセスするための固有のドライバは付属していないため、サード・パーティ・ベンダーから取得する必要があります。サード・パーティ・ベンダーからドライバをインストールするには、次を参照してください。
-
ODI Studioの場合 — ODI Studioへのライブラリの追加に関する項
-
スタンドアロン・エージェントまたはコロケート・エージェントの場合 — スタンドアロン・エージェントまたはスタンドアロン・コロケート・エージェントへのライブラリの追加に関する項
-
JEEエージェントの場合 — Java EEエージェントへのライブラリの追加に関する項
9.2.3 接続性要件
この項では、Microsoft Excelワークブックに接続するための要件をリストします。
Microsoft Excelデータにアクセスするための要件は次のとおりです。
Microsoft Excel ODBCドライバのインストール
Microsoft Excelワークブックにアクセスできるのは、ODBC接続を使用した場合のみです。使用するシステムに、Excel用ODBCドライバがインストールされている必要があります。
Microsoft Excel ODBCデータソースの宣言
ODBCデータソースは、ODIからアクセスするそれぞれのMicrosoft Excelワークブック(.xls
ファイル)に対して定義する必要があります。ODBCデータソースは、Microsoft ODBCデータソース・アドミニストレータで作成します。データソースの作成方法は、Microsoft Windowsオペレーティング・システムのドキュメントを参照してください。「カスタマイズされたリバース・エンジニアリング」の「Excelスプレッドシート用のODBCデータソースの作成」も参照してください。
9.3 トポロジの設定
トポロジの設定には次が含まれます。
9.3.1 Microsoft Excelデータ・サーバーの作成
『Oracle Data Integratorの管理』のデータ・サーバーの作成に関する項に記載されている標準の手順で、Microsoft Excelテクノロジ用データ・サーバーを作成します。
「JDBC」タブで、「JDBCドライバ」および「JDBC URL」のパラメータに対して、ドライバのプロバイダから提供された詳細を入力します。
9.3.2 Microsoft Excel物理スキーマの作成
『Oracle Data Integratorの管理』の物理スキーマの作成に関する項の説明に従って、標準の手順を使用してMicrosoft Excel物理スキーマを作成します。Oracle Data Integratorでは、Microsoft Excelデータ・サーバーごとに必要な物理スキーマは1つのみです。
『Oracle Data Integratorの管理』の論理スキーマの作成に関する項の説明に従って、標準の手順を使用してこの物理スキーマ用の論理スキーマを作成し、特定のコンテキストで関連付けます。
ノート:
Excel物理スキーマには作業スキーマはなく、データ・スキーマのみがあります。Microsoft Excelは、マッピングのステージング領域としては使用できません。
9.4 統合プロジェクトの設定
Microsoft Excelを使用してプロジェクトを設定するには、標準の手順に従います。『Oracle Data Integratorでの統合プロジェクトの開発』の統合プロジェクトの作成に関する項を参照してください。
Microsoft Excelでの作業を開始するにあたり、使用するプロジェクトに次の汎用SQL KMをインポートします。
-
LKM SQL to SQL
-
IKM SQL to SQL Append
これらのKMの詳細は、汎用SQLを参照してください。
9.5 Microsoft Excelモデルの作成およびリバース・エンジニアリング
この項では、次の項目について説明します。
9.5.1 Microsoft Excelモデルの作成
Microsoft Excelモデルは、Microsoft Excelワークブック内の表に対応するデータストアのセットです。
『Oracle Data Integratorでの統合プロジェクトの開発』のモデルの作成に関する項の説明に従って、標準の手順を使用してMicrosoft Excelモデルを作成します
9.5.2 Microsoft Excelモデルのリバース・エンジニアリング
Microsoft Excelでは、標準のリバース・エンジニアリングのみがサポートされており、その機能全体は、使用されているドライバに依存します。
Microsoft Excelで標準のリバース・エンジニアリングを実行するには、『Oracle Data Integratorでの統合プロジェクトの開発』のモデルのリバース・エンジニアリングに関する項の説明に従って、通常の手順を使用します。
9.6 マッピングの設計
Microsoft Excelファイルは、マッピングのソースまたはターゲットとして使用できますが、ステージング領域としては使用できません。
マッピングまたはチェック用に選択したKMによって、このマッピングまたはチェックの機能およびパフォーマンスが決まります。この項に示す推奨事項は、Microsoft Excelサーバーに関連する様々な状況でのKMの選択に役立ちます。
9.6.1 Microsoft Excelとの間でのデータのロード
マッピングのソースまたはターゲットとしてMicrosoft Excelを使用できます。マッピング・フロー・タブでの、Microsoft Excelと別のタイプのデータ・サーバー間でデータをロードするためのLKMの選択は、マッピングのパフォーマンスに関してきわめて重要です。
9.6.1.1 Microsoft Excelからのデータのロード
Oracle Data Integratorには、Microsoft Excel専用のナレッジ・モジュールは用意されていません。汎用SQL KMまたはステージング領域として使用するテクノロジ固有のKMを使用してください。次の表に、Microsoft Excelから任意のステージング領域へのデータのロードに使用できる汎用SQL KMの一部をリストします。
表9-1 Microsoft ExcelからロードするためのKM
ターゲットまたはステージング領域 | KM | ノート |
---|---|---|
Oracle |
LKM SQL to Oracle |
任意のISO-92データベースからOracleターゲット・データベースへデータをロードします。統計を使用します。 |
SQL |
LKM SQL to SQL |
ISO-92データベースからISO-92準拠のターゲット・データベースにデータをロードします。 |
9.6.1.2 Microsoft Excelへのデータのロード
Microsoft Excelはステージング領域として使用できないため、LKMを使用してMicrosoft Excelにデータをロードすることはできません。Microsoft Excelへのデータの統合方法は、「Microsoft Excelでのデータの統合」を参照してください。
9.6.2 Microsoft Excelでのデータの統合
Oracle Data Integratorには、Microsoft Excel専用のナレッジ・モジュールは用意されていません。汎用SQL KMまたはステージング領域として使用するテクノロジ固有のKMを使用してください。ステージング領域からMicrosoft Excelへデータを統合するには、IKM SQL to SQL Appendなどを使用できます。
9.7 トラブルシューティング
この項では、Oracle Data IntegratorでのMicrosoft Excelテクノロジの使用時に発生する可能性がある問題のトラブルシューティングに関する情報を提供します。次の項目が含まれます。
9.7.1 エラー・メッセージの解読
通常、Oracle Data Integratorではエラーは次のように表示されます。
java.sql.SQLException: java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified RC=Oxb at ... ...
このjava.sql.SQLExceptionコードは、JDBC-ODBCブリッジを介して問合せが行われ、エラーが戻されたことを単純に示しています。このエラーはデータベースまたはドライバのエラーであることが多く、次のように解明する必要があります。
まず、italicのテキスト部分のみに注目してください。これは、ODBCドライバまたはExcelのドキュメントで検索する必要があります。ここで太字のイタリック体で示されているように、固有のエラー・コードが含まれている場合は、エラーをすばやく識別できます。
このようなエラーが実行ログで検出された場合は、SQLコードを分析してエラーの原因を特定する必要があります。このコードは、エラーのあるタスクの「説明」タブに表示されます。
Excelの最も一般的なエラーおよび主な原因について、次項で説明します。
9.7.2 一般的な問題および解決策
この項では、一般的な障害と解決策について説明します。
-
[Microsoft][ODBC Excel Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
このエラーは、インストールされたODBCドライバの機能的制限によるものである可能性があります。Microsoft Office同梱のデフォルトODBCドライバなど、完全版のODBCドライバをインストールする必要があるかもしれません。
-
Invalid Fetch Size
ODIに定義されているMicrosoft Excelデータ・サーバーの配列フェッチ・サイズが0に設定されていることを確認してください。
-
[Microsoft][ODBC Excel Driver] Could not decrypt file.
パスワード保護されたMicrosoft Excelワークブックを、使用するJDBC-ODBC接続に対して開いたままとする必要があるかもしれません。
-
UnknownDriverException
JDBCドライバが不正です。ドライバの名前を確認してください。
-
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified RC=0xb Datasource not found or driver name not specified
JDBC URLで指定されたODBCデータソースが不正です。
-
The Microsoft Jet Database engine could not find the object <object name>
アクセスしようとしている表が存在しないか、Excelスプレッドシートで定義されていません。
-
Too few parameters. Expected 1.
Excelスプレッドシートに存在しない列にアクセスしようとしています。
-
Operation must use an updateable query.
このエラーは通常、Excel DSNの定義時に読取り専用オプションを選択解除しなかった場合に発生します。このオプションを選択解除して、マッピングを再実行してください。