ヘッダーをスキップ
Oracle® Warehouse Builderソースおよびターゲット・ガイド
11gリリース2 (11.2)
B61349-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

11 新しいプラットフォームの作成

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のcom.sunopsis.jdbc.driver.xml.SnpsXmlDriverなどです。

URL_TEMPLATE

STRING

ドライバのデフォルトのURL。これはテンプレートとして使用されます。

COL_ALIAS_WORD

STRING

列とその別名のセパレータ。このプロパティの指定は必須ではありません。

TAB_ALIAS_WORD

STRING

表とその別名のセパレータ。このプロパティの指定は必須ではありません。

DATE_FCT

STRING

日時を戻すファンクション。たとえば、Oracleのsysdateなどです。

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

コードの生成中に使用される構文。たとえば、CHAR[(%size)]などです。

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

追加条件の設定に使用されます。


Oracle Warehouse Builderでサポートされる汎用データ型

表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と汎用データ型のみマップします。


DB2データ型マッピング

表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)データ型へのマッピング

MS SQL Serverデータ型マッピング

表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モジュール」を選択します。モジュールの作成ウィザードにより、モジュールの作成手順が示されます。これには、次の内容が含まれます。

  1. 名前およびアクセス方法の指定

  2. 接続情報の指定

名前およびアクセス方法の指定

名前と説明ページで、モジュールの名前を入力します。これがデフォルトの汎用アクセス・モジュールです。アクセス方法も選択します。アクセス方法は、「ネイティブ・データベース接続」または「ゲートウェイ」のいずれかです。ネイティブ・データベース接続の場合は、JDBCを使用してメタデータをインポートできます。したがって、システムにJDBCまたはODBCドライバがインストールされている場合は、そのドライバを使用してデータをインポートできます。「次」をクリックして、接続情報ページを開きます。

接続情報の指定

ネイティブ・データベース接続は、汎用JDBC接続を示します。「編集」をクリックして「汎用JDBCのロケーションの編集」ダイアログ・ボックスを開き、ロケーション情報を指定します。「URL」フィールドにJDBC URL、「ドライバ・クラス」フィールドにJDBCドライバを指定する必要があります。

ゲートウェイ接続を選択する場合、データベース接続の詳細を指定します。

プラットフォーム・モジュールは、次のオブジェクトをサポートします。

  • 変換

  • ビュー

これらのオブジェクトに格納できるデータは、プラットフォームに定義したデータ型によって異なります。

また、カスタムAPIに基づくカスタム・メタデータ・インタフェース(CMI)を定義して、メタデータをインポートできます。

Microsoft Excelプラットフォームの作成

次の例は、新しいプラットフォームを作成して、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ワークシートのインポート

Excelワークシートをインポートする手順は、次のとおりです。

  1. プロジェクト・ナビゲータのMICROSOFT EXCELプラットフォーム・ノードから新しいExcelモジュールを作成します。

  2. モジュールの作成ウィザードの名前と説明ページで、アクセス方法として「ネイティブ・データベース接続」を指定します。

  3. 接続情報ページで、「編集」をクリックして「汎用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ファイルのロケーションを参照しています。

図11-1 Excelファイルの接続情報

図11-1の説明が続きます。
「図11-1 Excelファイルの接続情報」の説明

Excelモジュールを作成してExcelファイルのロケーション詳細を指定した後、ファイルから表定義をインポートできます。

定義をインポートする手順は、次のとおりです。

  1. モジュールを右クリックし、「データベース・オブジェクト」を選択します。

    インポート・メタデータ・ウィザードが表示されます。

  2. データベースの表のインポートと同じように、Excelファイルの表をインポートします。

  3. 表のデータを表示するには、インポートした表を右クリックして、「データ」を選択します。

プラットフォームのカスタム・メタデータ・インポートの使用

CMIメカニズムを使用すると、データベースのメタデータをOracle Warehouse Builderにインポートする方法を定義できます。メタデータをインポートするデータベースのSQL定義またはAPI定義を活用するCMIを定義できます。

例: DB2 UDBのSQLベースの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テンプレート ドライバ・クラス

Teradata

jdbc:teradata://<host>:<port>/<server>

com.ncr.teradata.TeraDriver

Informix

jdbc:informix-sqli://<host>:<port>:informixserver=<servername>0xA5;database=<dbname>0xA5[0xA5;<property>=<value>...0xA5]

com.informix.jdbc.IfxDriver

Sybase

jdbc:sybase:Tds:<host>:<port>0xA5[/<database>0xA5]0xA5[?<property>=<value>&<property>=<value>...0xA5]

com.sybase.jdbc2.jdbc.SybDriver

MySQL

jdbc:mysql://<host>0xA5[:<port>0xA5]/0xA5[<database>0xA5]0xA5[?<property>=<value>0xA5[&<property>=<value>...0xA5]0xA5]

com.mysql.jdbc.Driver


また、各データベースに必要なJDBCドライバをインストールする必要があります。データベースのJDBCドライバは、製品とともに用意されているか、個別のダウンロードまたは購入が必要な場合があります。