Oracle Warehouse Builder 11gリリース2(11.2)から、他のシステムと統合する新しいプラットフォームを作成し、要件に基づくコード・テンプレートを使用した統合機能を構成できます。プラットフォームとは、データ・ソースまたはターゲットを指しています。新しいプラットフォームを作成すると、Oracle Warehouse Builderでデフォルトでサポートされているデータベースに加えて、新しいデータベースにも接続できます。
この章の内容は次のとおりです。
新しいプラットフォームを作成する場合、接続情報、コード生成オプション、プラットフォームでサポートされるデータ型およびこれらのデータ型と汎用データ型をマップする方法を含むプロパティを定義する必要があります。
プラットフォームを作成して特性を定義するには、OMB*Plusスクリプト・コマンドを使用する必要があります。
OMB*Plusスクリプトの詳細は、Oracle Warehouse Builder APIおよびスクリプト・リファレンスを参照してください。
関連項目: すべてのOMB*Plusコマンドのリストは、『Oracle Warehouse Builder OMB*Plusコマンド・リファレンス』を参照してください。 |
OMBCREATE
コマンドにより、新しいプラットフォームが作成されます。
OMBCREATE PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (BUSINESS_NAME) VALUES ('Microsoft Excel')
プロジェクト・ナビゲータにビジネス名が表示されます。
このプラットフォームのプロパティを定義するには、OMBALTER
コマンドを使用します。
OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'CHAR'
新しいプラットフォームを作成して定義するコマンドの全リストは、「Microsoft Excelプラットフォームの作成」を参照してください。ユーザー固有の要件に応じて、これに追加できます。
OMB*Plusインタフェースからプラットフォームを作成すると、プロジェクト・ナビゲータの「データベース」ノードの下にプラットフォームが追加されます。ロケーション・ナビゲータの「データベース」ノードの下にプラットフォームのロケーションが追加されます。この新しいプラットフォームにモジュールを作成できます。
新しいプラットフォームの作成と同時に、プラットフォームの特定の基本プロパティを定義する必要があります。これには、次のものが含まれます。
Designerおよびランタイム・プロパティ
プラットフォームのデータ型
カスタム・インポートに使用されるCMI/MIV
マッピングのデータ型定義
プラットフォームのJDBCドライバ
表11-1に、プラットフォームに指定する必要があるプロパティを示します。
表11-1 プラットフォームのプロパティ
プロパティ | データ型 | 説明 |
---|---|---|
NAME |
STRING |
プラットフォームの物理名。 |
BUSINESS_NAME |
STRING |
プラットフォームのビジネス名。 |
DESCRIPTION |
STRING |
プラットフォームの説明。 |
DRIVERCLASS |
STRING |
デフォルトのJDBCドライバ・クラス。たとえば、XMLの |
URL_TEMPLATE |
STRING |
ドライバのデフォルトのURL。これはテンプレートとして使用されます。 |
COL_ALIAS_WORD |
STRING |
列とその別名のセパレータ。このプロパティの指定は必須ではありません。 |
TAB_ALIAS_WORD |
STRING |
表とその別名のセパレータ。このプロパティの指定は必須ではありません。 |
DATE_FCT |
STRING |
日時を戻すファンクション。たとえば、Oracleの |
DDL_NULL |
STRING |
NULL値を格納できる列。 |
DEFAULT_MAX_NAME_LEN |
INTEGER |
表名の最大長。この制限を超える名前を指定すると、この長さに名前が切り捨てられます。 |
DEFAULT_NAME_LEN_SEMANTIC |
STRING |
名前の長さが文字またはバイトの指定かどうか。 |
SPECIAL_MAX_NAME_LEN |
STRING |
セカンド・クラス・オブジェクト(SCO)の名前の長さ。(たとえば、INDEX=18やCOLUMN=30などです)。 |
SPECIAL_NAME_LEN_SEMANTICS |
STRING |
SPECIAL_MAX_NAME_LENが文字またはバイトの指定かどうか。 |
ESCAPE_CHAR |
STRING |
エスケープ文字。たとえば、Oracle Databaseの二重引用符(")などです。 |
ENCLOSURE_CHAR |
STRING |
囲み文字。たとえば、Oracle Databaseのバックスラッシュ(\)などです。 |
RESERVED_WORDS |
STRING |
プラットフォームの予約語。 |
ILLEGAL_CHARS |
STRING |
プラットフォームのオブジェクトのネーミングで使用できない文字。 |
ILLEGAL_LEADING_CHARS |
STRING |
オブジェクトの名前の最初の文字として使用できない文字。 |
CUSTOM_IMPORTERS |
プラットフォームに関連付けられるカスタム・メタデータ定義。 |
|
データ型 |
プラットフォームでサポートされるデータ型。データ型を定義する構文およびデータ型で使用される任意のパラメータを指定できます。たとえば、長さ、精度およびスケールなどです。 |
|
汎用プラットフォームへのデータ型マップ |
汎用データ型へのプラットフォームのデータ型のマッピング。 |
|
汎用プラットフォームからのデータ型マップ |
プラットフォームのデータ型への汎用データ型のマッピング。 |
|
VARCHAR_MASK |
STRING |
コード・テンプレートの実行中にプラットフォームで使用されるランタイム・プロパティ。 |
DATE_MASK |
STRING |
|
NUMERIC_MASK |
STRING |
DDLの数値データ型を示すために使用される構文。%L(データの長さ)および%P(精度)タグを使用できます。 |
要件に応じて、プラットフォームの様々なデータ型をサポートできます。データ型のプロパティは、データ型の範囲を定義します。表11-2に、これらのプロパティを示します。
表11-2 データ型のプロパティ
プロパティ | タイプ | 説明 |
---|---|---|
NAME |
STRING |
データ型の物理名。 |
BUSINESS_NAME |
STRING |
データ型のビジネス名。 |
DESCRIPTION |
STRING |
データ型の説明。 |
SYNTAX |
STRING |
コードの生成中に使用される構文。たとえば、 |
P1 |
STRING |
サイズ、精度またはスケールです。 |
P1TYPE |
STRING |
範囲を指定します。 |
P1DEFAULT |
STRING |
P1のデフォルト値。 |
P1MIN |
STRING |
P1の最小値。 |
P1MAX |
STRING |
P1の最大値。 |
P2 |
STRING |
サイズ、精度またはスケールを指定します。 |
P2TYPE |
STRING |
範囲を指定します。 |
P2DEFAULT |
STRING |
P2のデフォルト値。 |
P2MIN |
STRING |
P2の最小値。 |
P2MAX |
STRING |
P2の最大値。 |
プラットフォームのデータ型を定義した後、これらのデータ型を他の汎用データ型にマップする方法も定義する必要があります。表11-3に示されているプロパティを使用して、これらのデータ型マッピングを定義できます。
表11-3 データ型マッピング・プロパティ
プロパティ | 説明 |
---|---|
NAME |
マップの物理名。 |
BUSINESS_NAME |
マップのビジネス名。 |
DESCRIPTION |
マップの説明。 |
FROM_DATATYPE |
マップ元のデータ型。 |
TO_DATATYPE |
マップ先のデータ型。 |
CONDITION1 |
データ型のマッピングが有効となる条件を定義します。たとえば、汎用のCHARデータ型からDB2UDB CHARデータ型へのマッピングは、文字のサイズに依存しますが、このサイズはCONDITION1パラメータで指定されます。 |
CONDITION2 |
追加条件の設定に使用されます。 |
CONDITION3 |
追加条件の設定に使用されます。 |
表11-4に、Oracle Warehouse Builderでサポートされる汎用データ型を示します。
表11-4 汎用データ型
カテゴリ | 汎用データ型 | パラメータ | 説明 |
---|---|---|---|
数値 |
BIGINT |
範囲は-2^63から2^63-1です。 |
|
BINARY_FLOAT |
単精度浮動小数点数 最小の正の有限値 = 1.17549E-38F 最大の正の有限値 = 3.40282E+38F |
||
BINARY_DOUBLE |
倍精度浮動小数点数 最小の正の有限値 = 2.22507485850720E-308 最大の正の有限値 = 31.79769313486231E+308 |
||
BIT |
1、0またはNULLの値を指定できる整数のデータ型 |
||
FLOAT |
FLOAT(precision) |
-1.79769E+308から-2.23E-308、0および2.23E-308から1.79769E+308 |
|
DOUBLE |
DOUBLE(precision) |
-1.79769E+308から-2.23E-308、0および2.23E-308から1.79769E+308 |
|
INTEGER |
NUMERIC(38) |
||
INT10 |
大きい整数の範囲は-2 147 483 648から+2 147 483 647です。 |
||
MONEY |
範囲は-922,337,203,685,477.5808から922,337,203,685,477.5807です。(MS SQL Serverでのみ使用) |
||
NUMERIC |
NUMERIC [(precision [, scale])] |
精度pの範囲は1から38です。スケールsの範囲は-84から127です。 |
|
DECIMAL |
DECIMAL [(precision [, scale])] |
精度pの範囲は1から38です。スケールsの範囲は-84から127です。 |
|
REAL |
範囲は- 3.40E + 38から-1.18E - 38、0および1.18E - 38から3.40E + 38です。 |
||
SMALLINT |
範囲は-2^15(-32,768)から2^15-1(32,767)です。 |
||
SMALLMONEY |
範囲は-214,748.3648から214,748.3647です。 |
||
TINYINT |
範囲は0から255です。 |
||
ラージ・オブジェクト |
BLOB |
BLOB |
最大サイズの制限がないバイナリ・ラージ・オブジェクト |
VARLOB |
VARBLOB [(size[K|M|G])] |
バイナリ・ラージ・オブジェクトは、最大2GB(2 147 483 647バイト)まで設定できる可変長のバイナリ文字列です。デフォルト値は、1MB(1,048,576)です。 |
|
CLOB |
キャラクタ・ラージ・オブジェクト。最大サイズの制限はありません。 |
||
VARCLOB |
VARCLOB [(size[K|M|G])] |
CLOB(キャラクタ・ラージ・オブジェクト)は、最大2GB(2 147 483 647バイト)まで設定できます。デフォルト値は、1MB(1,048,576)です。 |
|
DBCLOB |
DBCLOB [(size[K|M|G])] |
DBCLOB(ダブルバイトのキャラクタ・ラージ・オブジェクト)。値の最大長はダブルバイト文字で1 073 741 823文字。(IBM DB2 UDBでのみ使用) |
|
NCLOB |
Unicodeまたはダブルバイトのキャラクタ・ラージ・オブジェクト。最大サイズの制限はありません。 |
||
文字列 |
CHAR |
CHAR[(size)] |
1から8000の範囲の固定長の文字データ |
GRAPHIC |
GRAPHIC(size) |
サイズの属性は、1から127の範囲で指定する必要があります。(IBM DB2 UDBでのみ使用) |
|
LONGVARGRAPHIC |
LONGVARGRAPHIC(size) |
VARGRAPHICの値の最大長はダブルバイト文字で16 350文字(IBM DB2 UDBでのみ使用) |
|
NCHAR |
NCHAR(size) |
固定長(1から2000)のUnicodeまたはダブルバイト文字のデータ サイズ: 1から4000 |
|
NVARCHAR |
NVARCHAR(size) |
可変長(1から4000)のUnicodeまたはダブルバイト文字のデータ |
|
NVARCHARMAX |
NVARCHARMAX |
可変長(1から2^31-1)のUnicodeまたはダブルバイト文字のデータ |
|
VARCHAR |
VARCHAR(size) |
可変長(1から8000)の文字データ |
|
VARCHARMAX |
VARCHARMAX |
可変長(1から2^31)の文字データ |
|
VARGRAPHIC |
VARGRAPHIC(size) |
VARGRAPHICの値の最大長はダブルバイト文字で16 336文字(IBM DB2 UDBでのみ使用) |
|
日時 |
DATE |
小数秒精度またはタイムゾーンを使用しない年、月、日、時、分および秒の日付 |
|
DATETIME |
範囲は1753年1月1日から9999年12月31日まで、精度は3.33ミリ秒です。(MS SQL Serverのみ) |
||
INTERVALYEARTOMONTH |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] |
日、時、分および秒の期間を格納します。 day_precisionは、DAY日時フィールドの最大桁数です。使用できる値の範囲は0から9です。デフォルトは2です。 fractional_seconds_precisionは、SECONDフィールドの小数部の桁数です。使用できる値の範囲は0から9です。デフォルトは6です。サイズは11バイトに固定されます。 |
|
SMALLDATETIME |
範囲は1900年1月1日から2079年6月6日まで、精度は1分です。 |
||
TIME |
TIMEは、24時間時計の時刻を示す3つの部分で構成される値(時、分および秒)です。時の範囲は0から24です。他の2つの範囲は0から59です。時が24の場合、分と秒に0が指定されます。 |
||
TIMESTAMP |
TIMESTAMP [(fractional_seconds_precision)] |
小数秒精度のDATE |
|
TIMESTAMPWITHTIMEZONE |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE |
TIMESTAMPおよびタイムゾーンによる時差の値 |
|
TIMESTAMPWITHLOCALTIMEZONE |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE |
データベース・タイムゾーンに正規化されたTIMESTAMP |
|
バイナリ文字列 |
BINARY |
BINARY [(size)] |
最大8000バイトのバイナリ・データ |
VARBINARY |
VARBINARY [(size)] |
最大8000の可変長のバイナリ・データ |
|
VARBINARYMAX |
VARBINARY [(size)] |
最大2GBの可変長のバイナリ・データ |
|
LONGVARBINARY |
LONGVARBINARY |
最大2GBの可変長のRAWバイナリ・データ |
|
IMAGE |
IMAGE |
0から2^31-1(2,147,483,647)バイトの可変長のバイナリ・データ |
|
その他 |
UNDEFINED |
UNDEFINED |
サポートされていないすべてのデータ型(キャッチオール)を表します。 |
XMLTYPE |
XMLTYPE |
Oracle/Oracle Work Flowと汎用データ型のみマップします。 |
|
BOOLEAN |
BOOLEAN |
Oracle/Oracle Work Flowと汎用データ型のみマップします。 |
表11-5に、DB2データ型から汎用データ型へのマッピングを示します。
表11-5 DB2データ型から汎用データ型
DB2データ型 | 汎用データ型 |
---|---|
CHARACTER、CHAR |
CHAR |
VARCHAR、CHARACTER VARYING、CHAR VARYING |
VARCHAR |
LONG VARCHAR |
LONG VARCHAR |
GRAPHIC |
GRAPHIC |
VARGRAPHIC |
VARGRAPHIC |
LONG VARGRAPHIC |
LONG VARGRAPHIC |
DBCLOB |
DBCLOB |
SMALLINT |
SMALLINT |
INTEGER、INT |
INT10 |
BIGINT |
BIGINT |
NUMERIC、NUM |
NUMERIC |
DECIMAL、DEC |
DECIMAL |
REAL |
REAL |
FLOAT |
FLOAT |
DOUBLE |
DOUBLE |
DATE |
DATE |
TIMESTAMP |
TIMESTAMP |
TIME |
TIME |
BLOB、BINARY LARGE OBJECT |
VARLOB |
CLOB、CHARACTER LARGE OBJECT、CHAR LARGE OBJECT |
VARCLOB |
表11-6に、汎用データ型からDB2データ型へのマッピングを示します。
表11-6 汎用データ型からDB2データ型
汎用データ型 | DB2データ型 |
---|---|
BIGINT |
BIGINT |
BINARY_FLOAT |
REAL |
BINARY_DOUBLE |
FLOAT(53) |
BIT |
NUMERIC(1) |
FLOAT [(precision)] |
FLOAT [(precision)] |
DOUBLE [(precision)] |
DOUBLE [(precision)] |
INTEGER |
NUMERIC(31) |
INT10 |
INTEGER |
MONEY |
REAL |
NUMERIC [(precision [, scale])] |
NUMERIC [(precision [, scale])] |
DECIMAL [(precision [, scale])] |
DECIMAL [(precision [, scale])] |
REAL |
REAL |
SMALLINT |
SMALLINT |
SMALLMONEY |
REAL |
TINYINT |
SMALLINT |
BLOB |
BLOB |
VARLOB |
BLOB |
CLOB |
CLOB (2147483647) |
VARCLOB |
CLOB |
DBCLOB [(size [K|M|G])] |
DBCLOB [(size [K|M|G])] |
NCLOB |
DBCLOB |
CHAR [(size)] |
CHAR [(size)] |
GRAPHIC(size) |
GRAPHIC(size) |
LONGVARCHAR |
LONGVARCHAR |
LONGVARGRAPHIC |
LONGVARGRAPHIC |
NCHAR [(size)] |
VARGRAPHIC [(size)] |
NVARCHAR(size) |
VARGRAPHIC(size) |
NVARCHARMAX |
DBCLOB |
VARCHAR(size) |
size<=32,672: VARCHAR 32672<size<=32700:LONG VARCHAR size>32,700: CLOB |
VARCHARMAX |
CLOB |
VARGRAPHIC(n) |
VARGRAPHIC(n) |
DATE |
DATE |
DATETIME |
TIMESTAMP |
INTERVAL YEAR [(year_precision)] TO MONTH |
VARCHAR |
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)] |
VARCHAR |
SMALLDATETIME |
TIMESTAMP |
TIME |
TIME |
TIMESTAMP [(fractional_seconds_precision)] |
TIMESTAMP |
TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE |
VARCHAR |
TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE |
VARCHAR |
BINARY [(size)] |
size<=254: CHAR (size) FOR BIT DATA size>254:VARCHAR(size) FOR BIT DATA |
VARBINARY [(size)] |
size<=32,672:VARCHAR(size) FOR BIT DATA size>32,672: BLOB |
VARBINARYMAX |
BLOB |
LONGVARBINARY |
BLOB |
IMAGE |
BLOB |
UNDEFINED |
VARCHAR(32672) |
XMLTYPE |
VARCHAR(32672) |
BOOLEAN |
VARCHAR(10) |
次の場合、精度が損われることがあります。
NUMERIC汎用データ型(最大38)から最大31の精度のDB2 NUMERICデータ型へのマッピング
DECIMAL汎用データ型(最大38)から最大31の精度のDB2 DECIMALデータ型へのマッピング
INTEGER汎用データ型(最大38)から最大31の精度のDB2 NUMERIC(31)データ型へのマッピング
表11-7に、MS SQL Serverデータ型から汎用データ型へのマッピングを示します。
表11-7 MS SQL Serverデータ型から汎用データ型
MS SQL Serverデータ型 | 汎用データ型 |
---|---|
CHAR |
CHAR |
VARCHAR |
VARCHAR |
VARCHAR(MAX) |
VARCHARMAX |
TEXT |
VARCHAR(2147483647) |
NCHAR |
NCHAR |
NVARCHAR |
NVARCHAR |
NVARCHAR(MAX) |
NVARCHARMAX |
NTEXT |
NVARCHAR |
BINARY |
BINARY |
VARBINARY |
VARBINARY |
VARBINARY(MAX) |
VARBINARYMAX |
IMAGE |
IMAGE |
SMALLINT |
SMALLINT |
INT |
INT10 |
BIGINT |
BIGINT |
TINYINT |
TINYINT |
BIT |
BIT |
MONEY |
MONEY |
SMALLMONEY |
SMALLMONEY |
NUMERIC |
NUMERIC |
DECIMAL |
DECIMAL |
REAL |
REAL |
FLOAT |
FLOAT |
DATETIME |
DATETIME |
SMALLDATETIME |
SMALLDATETIME |
UNIQUEIDENTIFIER |
UNDEFINED |
XML |
UNDEFINED |
TIMESTAMP |
UNDEFINED |
SQL_VARIANT |
UNDEFINED |
表11-8に、汎用データ型からMS SQL Serverデータ型へのマッピングを示します。
表11-8 汎用データ型からMS SQL Serverデータ型
汎用データ型 | MS SQL Serverデータ型 |
---|---|
BIGINT |
BIGINT |
BINARY_FLOAT |
REAL |
BINARY_DOUBLE |
FLOAT |
BIT |
BIT |
FLOAT |
FLOAT |
DOUBLE |
FLOAT |
INTEGER |
NUMERIC(38) |
INT10 |
INT |
MONEY |
MONEY |
NUMERIC |
NUMERIC |
DECIMAL |
DECIMAL |
REAL |
REAL |
SMALLINT |
SMALLINT |
SMALLMONEY |
SMALLMONEY |
TINYINT |
TINYINT |
BLOB |
VARBINARY(MAX) |
VARBLOB(N) |
VARCHAR(MAX) |
CLOB |
VARCHAR(MAX) |
VARCLOB(N) |
VARCHAR(MAX) |
DBCLOB |
NVARCHAR(MAX) |
NCLOB |
NVARCHAR(MAX) |
CHAR(N) |
CHAR(N) |
GRAPHIC(N) |
NCHAR(254) |
LONGVARCHAR |
VARCHAR(MAX) |
LONGVARGRAPHIC(N) |
NVARCHAR(MAX) |
NCHAR(N) |
NCHAR(N) |
NVARCHAR(N) |
NVARCHAR(N) |
NVARCHARMAX |
NVARCHAR(MAX) |
VARCHAR(N) |
1<=n<=8000: varchar (n) n>8000: varchar (max) |
VARCHARMAX |
VARCHAR(MAX) |
VARGRAPHIC(N) |
NVARCHAR(MAX) |
DATE |
DATETIME |
DATETIME |
DATETIME |
INTERVALDAYTOSECOND |
VARCHAR |
INTERVALYEARTOMONTH |
VARCHAR |
SMALLDATETIME |
SMALLDATETIME |
TIME |
VARCHAR |
TIMESTAMP |
DATETIME |
TIMESTAMPWITHTIMEZONE |
DATETIME |
TIMESTAMPWITHLOCALTIMEZONE |
DATETIME |
BINARY (size) |
BINARY (size) |
VARBINARY (size) |
1<=size<=8000: varbinary (size) n>8000: varbinary (max) |
VARBINARYMAX |
VARBINARY(MAX) |
LONGVARBINARY |
VARBINARY(MAX) |
IMAGE |
IMAGE |
UNDEFINED |
VARCHAR(MAX) |
XMLTYPE |
VARCHAR(MAX) |
BOOLEAN |
VARCHAR(10) |
OMBCREATE
コマンドを実行してプラットフォームを作成すると、プロジェクト・ナビゲータの「データベース」
ノードに対応するプラットフォーム・ノードが追加されます。この新しいプラットフォームにモジュールを作成できます。
たとえば、「Microsoft_Excel」にモジュールを作成するには、「Microsoft_Excel」を右クリックし、「新規Microsoft_Excelモジュール」を選択します。モジュールの作成ウィザードにより、モジュールの作成手順が示されます。これには、次の内容が含まれます。
名前およびアクセス方法の指定
名前と説明ページで、モジュールの名前を入力します。これがデフォルトの汎用アクセス・モジュールです。アクセス方法も選択します。アクセス方法は、「ネイティブ・データベース接続」または「ゲートウェイ」のいずれかです。ネイティブ・データベース接続の場合は、JDBCを使用してメタデータをインポートできます。したがって、システムにJDBCまたはODBCドライバがインストールされている場合は、そのドライバを使用してデータをインポートできます。「次」をクリックして、接続情報ページを開きます。
接続情報の指定
ネイティブ・データベース接続は、汎用JDBC接続を示します。「編集」をクリックして「汎用JDBCのロケーションの編集」ダイアログ・ボックスを開き、ロケーション情報を指定します。「URL」フィールドにJDBC URL、「ドライバ・クラス」フィールドにJDBCドライバを指定する必要があります。
ゲートウェイ接続を選択する場合、データベース接続の詳細を指定します。
プラットフォーム・モジュールは、次のオブジェクトをサポートします。
変換
表
ビュー
これらのオブジェクトに格納できるデータは、プラットフォームに定義したデータ型によって異なります。
次の例は、新しいプラットフォームを作成して、Microsoft Excelワークシートのデータを抽出しています。この例には、接続情報およびサポートされているデータ型を含むプラットフォームを作成する最も基本的なオプションのみが示されています。追加機能を挿入して、プラットフォームを構築できます。
最初に、プロジェクト・ナビゲータでプラットフォームを定義します。
OMBCREATE PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (BUSINESS_NAME) VALUES ('Microsoft Excel')
次に、プラットフォームの接続情報を定義します。これには、ODBC:JDBCドライバおよびURLテンプレートの指定が含まれます。
OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (DRIVER_CLASS,URI_TEMPLATE) VALUES ('sun.jdbc.odbc.JdbcOdbcDriver','jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)}\; DBQ=<filename>\;DriverID=22\;READONLY=true')
プラットフォームのプロパティを定義します。
OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (LOCAL_OBJECT_MASK) VALUES ('%SCHEMA.%OBJECT') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (DATE_MASK) VALUES ('DATETIME') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (DDLNULL) VALUES ('null') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (NUMERIC_MASK) VALUES ('NUMBER') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (VARCHAR_MASK) VALUES ('VARCHAR(%L)') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (LOCAL_OBJECT_MASK) VALUES ('%OBJECT') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (DEFAULT_MAX_NAME_LEN) VALUES ('30') OMBALTER PLATFORM 'MICROSOFT_EXCEL' SET PROPERTIES (REMOTE_OBJECT_MASK) VALUES ('%OBJECT')
最後に、プラットフォームでサポートされるデータ型を定義します。
OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'LOGICAL' OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'LOGICAL' SET PROPERTIES(SYNTAX) VALUES ('LOGICAL') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD FROM_PLATFORM_TYPEMAP 'LOGICAL_TOG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('LOGICAL', 'CHAR') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD TO_PLATFORM_TYPEMAP 'LOGICAL_FROMG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('CHAR', 'LOGICAL') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'CURRENCY' OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'CURRENCY' SET PROPERTIES(P1,P1MIN, P1MAX,P1DEFAULT,P1TYPE) VALUES ('precision','1', '64000', '1','range') OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'CURRENCY' SET PROPERTIES(P2,P2MIN, P2MAX,P2DEFAULT,P2TYPE) VALUES ('scale','1', '18', '1','range') OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'CURRENCY' SET PROPERTIES(SYNTAX) VALUES ('CURRENCY(%precision,%scale)') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD FROM_PLATFORM_TYPEMAP 'CURRENCY_TOG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('CURRENCY', 'NUMERIC') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'NUMBER' OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'NUMBER' SET PROPERTIES(P1,P1MIN, P1MAX,P1DEFAULT,P1TYPE) VALUES ('precision','1', '64000', '1','range') OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'NUMBER' SET PROPERTIES(P2,P2MIN, P2MAX,P2DEFAULT,P2TYPE) VALUES ('scale','1', '18', '1','range') OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'NUMBER' SET PROPERTIES(SYNTAX) VALUES ('NUMBER(%precision,%scale)') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD FROM_PLATFORM_TYPEMAP 'NUMBER_TOG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('NUMBER', 'NUMERIC') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD TO_PLATFORM_TYPEMAP 'NUMBER_FROMG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('NUMERIC', 'NUMBER') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'DATETIME' OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'DATETIME' SET PROPERTIES(SYNTAX) VALUES ('DATETIME') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD FROM_PLATFORM_TYPEMAP 'DATETIME_TOG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('DATETIME', 'DATETIME') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD TO_PLATFORM_TYPEMAP 'DATETIME_FROMG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('DATETIME', 'DATETIME') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD PLATFORM_TYPE 'VARCHAR' OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'VARCHAR' SET PROPERTIES(P1,P1MAX,P1DEFAULT,P1TYPE) VALUES ('size','64000', '1','range') OMBALTER PLATFORM 'MICROSOFT_EXCEL' MODIFY PLATFORM_TYPE 'VARCHAR' SET PROPERTIES(SYNTAX) VALUES ('VARCHAR(%size)') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD FROM_PLATFORM_TYPEMAP 'VARCHAR_TOG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('VARCHAR', 'VARCHAR') OMBALTER PLATFORM 'MICROSOFT_EXCEL' ADD TO_PLATFORM_TYPEMAP 'VARCHAR_FROMG' SET PROPERTIES (FROM_DATATYPE, TO_DATATYPE) VALUES ('VARCHAR', 'VARCHAR')
このスクリプトは、Oracle Warehouse BuilderのOMB*Plusコンソールから実行します。プロジェクト・ナビゲータのノードとして、新しく作成したプラットフォームが表示されます。
Excelワークシートをインポートする手順は、次のとおりです。
プロジェクト・ナビゲータのMICROSOFT EXCELプラットフォーム・ノードから新しいExcelモジュールを作成します。
モジュールの作成ウィザードの名前と説明ページで、アクセス方法として「ネイティブ・データベース接続」を指定します。
接続情報ページで、「編集」をクリックして「汎用JDBCのロケーションの編集」ダイアログ・ボックスを開きます。
図11-1のように仮のユーザー名とパスワードを入力します。ユーザー名とパスワードには任意の値を入力できますが、フィールドを空白のままにすることはできません。「ドライバ・クラス」フィールドおよび「URL」フィールドの値は、スクリプトの値に基づいて設定されます。ただし、「URL」フィールドを編集して、Excelファイルのロケーションを参照する必要があります。
「URL」フィールドには、次の値が含まれます。
jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=<filename>;DriverID=22;READONLY=true
Excelファイルのロケーションを参照するため、ファイル名フィールドを変更する必要があります。次に例を示します。
jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=c:/my_projects/excel/employees.xls;DriverID=22;READONLY=true
この例では、employees.xls
ファイルのロケーションを参照しています。
Excelモジュールを作成してExcelファイルのロケーション詳細を指定した後、ファイルから表定義をインポートできます。
定義をインポートする手順は、次のとおりです。
モジュールを右クリックし、「データベース・オブジェクト」を選択します。
インポート・メタデータ・ウィザードが表示されます。
データベースの表のインポートと同じように、Excelファイルの表をインポートします。
表のデータを表示するには、インポートした表を右クリックして、「データ」を選択します。
CMIメカニズムを使用すると、データベースのメタデータをOracle Warehouse Builderにインポートする方法を定義できます。メタデータをインポートするデータベースのSQL定義またはAPI定義を活用するCMIを定義できます。
SQLを使用してDB2 UDBのSQLベースのデータ・ディクショナリのメタデータを取得し、DB2プラットフォームから表をインポートするCMIを定義できます。類似したメカニズムを実装して、SQLベースのデータ・ディクショナリを使用するデータベースのメタデータをインポートできます。
CMIメカニズムを活用するには、プラットフォームのCMI DEFINITIONを定義する必要があります。CMI定義は、ルート
・コンテキストからのみ作成できます。ルート
・コンテキストには、OMB Plusコンソールからのみ切り替えることができます。Oracle Warehouse Builderr UIからOMB*Plusビューを使用してルート
・コンテキストに切り替えることはできません。
WindowsシステムのOMB Plusコンソールを使用するには、「スタート」、「すべてのプログラム」、「<OWB>」、「Warehouse Builder」、「OMB Plus」の順に選択します。
ルート
・コンテキストに切り替えるには、次のコマンドを使用します。
OMBCONNECT <repository user>/<password>@<host>:<port number>:<service name>
次に例を示します。
OMBCONNECT rep_user/password@localhost:1521:orcl
rep_user
/password
はリポジトリに接続するユーザー名/パスワード、localhost
はローカル・インストール、1521
はポート番号、orcl
はデータベースのサービス名です。
例11-1に、DB2 UDBのプラットフォーム定義を示します。これには基本的な定義のみがリストされ、プラットフォームに追加できるデータ型は含まれていません。
例11-1 IBM DB2 UDBのプラットフォーム定義
set platformname IBM_DB2_UDB set platformdisplay "IBM DB2 CMI Api" puts "Creating Platform $platformdisplay" OMBCREATE PLATFORM '$platformname' SET PROPERTIES (BUSINESS_NAME) VALUES ('$platformdisplay') OMBALTER PLATFORM '$platformname' SET PROPERTIES (DRIVER_CLASS,URI_TEMPLATE) VALUES ('com.ibm.db2.jcc.DB2Driver','jdbc:db2://Host:Port/Database Name') OMBALTER PLATFORM '$platformname' SET PROPERTIES (LOCAL_OBJECT_MASK) VALUES ('%SCHEMA.%OBJECT') OMBALTER PLATFORM '$platformname' SET PROPERTIES (DATE_MASK) VALUES ('TIMESTAMP') OMBALTER PLATFORM '$platformname' SET PROPERTIES (DDLNULL) VALUES ('null') OMBALTER PLATFORM '$platformname' SET PROPERTIES (NUMERIC_MASK) VALUES ('NUMERIC(%L,%P)') OMBALTER PLATFORM '$platformname' SET PROPERTIES (VARCHAR_MASK) VALUES ('VARCHAR(%L)') OMBALTER PLATFORM '$platformname' SET PROPERTIES (LOCAL_OBJECT_MASK) VALUES ('%SCHEMA.%OBJECT') OMBALTER PLATFORM '$platformname' SET PROPERTIES (DEFAULT_MAX_NAME_LEN) VALUES ('30') OMBALTER PLATFORM '$platformname' SET PROPERTIES (REMOTE_OBJECT_MASK) VALUES ('%SCHEMA.%OBJECT')
次に、CMI定義をプラットフォームに追加します。
OMBCREATE CMI_DEFINITION 'DB2_IMPORT_SQL' USING DEFINITION_FILE 'c:\\platformdef2_miv.xml' OMBALTER CMI_DEFINITION 'DB2_IMPORT_SQL' SET PROPERTIES (MIV_TYPE) VALUES ('Databases') OMBALTER PLATFORM '$platformname' SET REF CMI_DEFINITION 'DB2_IMPORT_SQL'
OMBCOMMIT
コマンドを使用して、変更を保存します。
注意: .tcl ファイルとしてスクリプト全体を格納し、OMB Plusコンソールからファイルを実行できます。 |
platformdef2_miv.xml
ファイルには、SQLを使用してメタデータをインポートするカスタム・インポート定義が含まれます。例11-2に、CMI定義ファイルを示します。
例11-2 CMI定義ファイル
<?xml version="1.0"?> <miv> <miv_tables type="SQLStatement" default="true"> SELECT rtrim(tabname) table_name FROM syscat.tables WHERE tabschema = <Parameter name="owner"/> AND type = 'T' AND status = 'N' ORDER BY table_name </miv_tables> <miv_columns type="SQLStatement" default="true"> SELECT rtrim(col.tabname) entity_name, col.colno position, rtrim(col.colname), col.typename, col.length, col.length, col.scale, col.remarks, col.nulls, '' datatypeowner, col.default, CHAR(col.codepage) charset, 1 bytes_per_char, 'N' use_char_semantics FROM syscat.columns col WHERE col.tabschema = <Parameter name="owner"/> </miv_columns> <miv_capabilities type="ResultSet"> <table_supported>true</table_supported> <view_supported>false</view_supported> <sequence_supported>false</sequence_supported> <table_name_filter_supported>true</table_name_filter_supported> <view_name_filter_supported>false</view_name_filter_supported> <sequence_name_filter_supported>false</sequence_name_filter_supported> <business_area_supported>false</business_area_supported> <business_area_table_supported>false</business_area_table_supported> <business_area_view_supported>false</business_area_view_supported> <business_area_sequence_supported>false</business_area_sequence_supported> <application_owner_supported>true</application_owner_supported> <table_fklevel_supported>false</table_fklevel_supported> <reimport_supported>true</reimport_supported> <data_object_at_leaf_levels>false</data_object_at_leaf_levels> <multiple_tree_supported>false</multiple_tree_supported> </miv_capabilities> </miv>
定義ファイルには、表および列を取得する問合せが含まれます。XML Schema Definition(XSD)ファイルで定義された要素を使用して、このMIVファイルが作成されます。このファイルはcmi.xsd
という名前で、OWB_HOME
/owb/misc
フォルダに格納されます。
プラットフォームを作成した後、プロジェクト・ナビゲータの「データベース」ノードで使用できます。DB2UDBデータベースに接続して、メタデータをインポートできます。DB2に接続するには、適切なドライバ・ファイルが必要です。ドライバ・ファイル要件の詳細は、「DB2のJDBC接続ドライバ」を参照してください。
同様に、SQLベースのデータ・ディクショナリを使用するデータベースの新しいプラットフォームを作成し、データベースからメタデータをインポートするSQLベースのCMIメカニズムを作成できます。
表11-9に、他の一般的なプラットフォームのURLテンプレートの仕様およびドライバ・クラスを示します。
表11-9 様々なプラットフォームのJDBC要件
プラットフォーム | URLテンプレート | ドライバ・クラス |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
また、各データベースに必要なJDBCドライバをインストールする必要があります。データベースのJDBCドライバは、製品とともに用意されているか、個別のダウンロードまたは購入が必要な場合があります。