Oracle 変換先

適用対象: SQL Server Azure Data Factory の SSIS Integration Runtime

Oracle 変換先では、Oracle Database にデータが一括読み込みされます。

この変換先では、Oracle 接続マネージャーを使用してデータ ソースに接続します。 詳細については、「Oracle 接続マネージャー」をご覧ください。

Oracle 変換先には、入力列と変換先データ ソースの列との間のマッピングが含まれています。 入力列をすべての変換先列にマップする必要はありませんが、変換先列のプロパティによっては、変換先列にマップされる入力列がない場合、エラーが発生することがあります。 たとえば、入力先列で NULL 値が許容されていない場合は、入力列をその列にマップする必要があります。 また、入力データと変換先列の型との間に互換性がない場合は、実行時にエラーが発生します。 エラー動作の設定に応じて、エラーが無視されるか、エラーが発生するか、行がエラー出力にリダイレクトされます。

Oracle 変換先には、1 つの標準入力と 1 つのエラー出力があります。

サポートされていないデータ型の列は、マッピングの前に警告が表示され、列から削除されます。 詳細については、データ型のサポートに関する記事を参照してください。

読み込みオプション

2 つのアクセス読み込みモードがサポートされています。 Oracle 変換先エディター ([接続マネージャー] ページ) で、モードを設定できます。 次の 2 つのモードがあります。

エラー処理

Oracle 変換先にはエラー出力があります。 コンポーネントのエラー出力には、次の出力列があります。

  • エラー コード: 現在のエラーのエラーの種類を表す数値。 エラー コードは、以下から送信される可能性があります。

    • Oracle サーバー。 Oracle データベースのドキュメントに記載されている詳細なエラーの説明をご覧ください。
    • SSIS ランタイム。 SSIS エラー コードの一覧については、「SSIS のエラー コードおよびメッセージ リファレンス」を参照してください。
  • エラー列: 変換エラーの原因となっているソースの列の番号。

  • エラー データ列:エラーの原因となっているデータ。

読み込み処理中の出力エラーの種類としては、データ変換、切り捨て、制約違反などがサポートされています。 「Oracle 変換先エディター ([エラー出力] ページ)」を参照してください。

[エラーの最大数 (MaxErrors)] プロパティによって、許容されるエラーの最大数が設定されます。 最大数に達すると、実行が停止し、エラーが返されます。 ターゲット テーブルには、エラーの最大数に達する前の実行レコードだけが含まれます。 詳細な構成については、Oracle 変換先エディター ([接続マネージャー] ページ) を参照してください。

Parallelism

バッチ読み込みモードでは、並列実行の構成に制限はありませんが、標準的なレコード ロック メカニズムによってパフォーマンスが影響を受けることがあります。 パフォーマンスの低下の度合いは、データとテーブルの編成によって異なります。

ダイレクト パス プロトコル (高速読み込み) では、同じテーブルに対して同時に実行するように構成できる Oracle 変換先は 1 つだけですが、並列モードを使用できます。

並列ダイレクト パスでは、複数のダイレクト パスを読み込むことができます。この場合、同じテーブルに対して複数の Oracle 変換先を同時に実行するように構成できます。 Oracle では、高速読み込みセッションで使用するためにターゲット テーブルが排他的にロックされることはありません。このため、追加の高速読み込みの変換先コンポーネントを実行して、同じターゲット テーブルを並行して読み込むことができます。 並列ダイレクト パスにはより多くの制限があるため、並列処理の使用について、事前に計画しておく必要があります。

単一の並列セッションを使用する理由はありません。

並列ダイレクト パスの読み込みを使用する場合の制限に関する Oracle のドキュメントを参照してください。

詳細については、「Oracle 変換先のカスタム プロパティ」を参照してください。

Oracle 変換先のトラブルシューティング

Oracle ソースによって Oracle データ ソースに対して行われる ODBC 呼び出しをログに記録して、データのエクスポートに関するトラブルシューティングを行うことができます。 Oracle ソースによって Oracle データ ソースに対して行われる ODBC 呼び出しをログに記録するには、ODBC ドライバー マネージャーによるトレースを有効にします。 詳細については、「 ODBC で ODBC トレースを生成する方法 (データ ソース管理者向け) 」の Microsoft のドキュメントを参照してください。

Oracle 変換先のカスタム プロパティ

次の表で、Oracle 変換先のカスタム プロパティについて説明します。 すべてのプロパティは読み取り/書き込み可能です。

プロパティ名 データ型 説明 読み込みモード
BatchSize Integer 一括読み込みのバッチのサイズ。 これは、バッチとして読み込まれる行数です。 バッチ モードでのみ使用されます。
DefaultCodePage Integer データ ソースにコード ページ情報がない場合に使用されるコード ページ。
:このプロパティは、詳細エディターによってのみ設定されます。
両方のモードで使用されます。
FastLoad ブール型 高速読み込みが使用されるかどうか。 既定値は false です。 これは、Oracle 変換先エディター ([接続マネージャー] ページ) で設定することもできます。 両方のモードで使用されます。
[MaxErrors] Integer データ フローを停止する前に許容されるエラーの数を指定します。 既定値は 0 です。これは、エラー数の制限がないことを意味します。
[エラー処理] ページで [フローのリダイレクト] が選択されている場合。 エラー数が上限に達する前に、すべてのエラーがエラー出力に返されます。 詳細については、「エラー処理」を参照してください。
高速読み込みモードでのみ使用されます。
NoLogging ブール型 データベースのログ記録が無効になっているかどうか。 既定値は False です。これは、ログ記録が有効になっていることを意味します。 両方のモードで使用されます。
並列 ブール型 並列読み込みが許可されるかどうか。 True は、同じターゲット テーブルに対して、他の読み込みセッションの実行が許可されていることを示します。
詳細については、「並列処理」をご覧ください。
高速読み込みモードでのみ使用されます。
TableName String 使用されているデータを含むテーブルの名前。 両方のモードで使用されます。
TableSubName String サブ名またはサブパーティション。 この値は省略可能です。
:このプロパティは、詳細エディターでのみ設定できます。
高速読み込みモードでのみ使用されます。
TransactionSize Integer 単一のトランザクションで実行できる挿入の数。 既定値は BatchSize です。 バッチ モードでのみ使用されます。
TransferBufferSize Integer 転送バッファーのサイズ。 既定値は 64 KB です。 高速読み込みモードでのみ使用されます。

Oracle 変換先の構成

Oracle 変換先は、プログラムによって、または SSIS デザイナーを使用して構成できます。

Oracle 変換先エディターを次の図に示します。 それには、[接続マネージャー] ページ、[マッピング] ページ、および [エラー出力] ページが含まれています。

詳細については、次のいずれかのセクションを参照してください。

Oracle 変換先

[詳細エディター] ダイアログ ボックスには、プログラムによって設定できるプロパティが表示されます。 [詳細エディター] ダイアログ ボックスを開くには、次の操作を実行します。

  • Integration Services プロジェクトの [データ フロー] 画面で、Oracle 変換先を右クリックし、[詳細エディターの表示] を選択します。

[詳細エディター] ダイアログ ボックスで設定できるプロパティの詳細については、「Oracle 変換先のカスタム プロパティ」を参照してください。

Oracle 変換先エディター ([接続マネージャー] ページ)

[Oracle 変換先エディター] ダイアログ ボックスの [接続マネージャー] ページを使用して、変換先用の Oracle 接続マネージャーを選択します。 さらにこのページを使用して、データベースのテーブルやビューを選択できます。

[Oracle 変換先エディター] の [接続マネージャー] ページを開くには

  • SQL Server Data Tools で、Oracle 変換先を含む SQL Server Integration Services (SSIS) パッケージを開きます。

  • [データ フロー] タブで、Oracle 変換先をダブルクリックします。

  • [Oracle 変換先エディター] で、[接続マネージャー] をクリックします。

Options

Connection manager

既存の接続マネージャーを一覧から選択するか、 [新規作成] をクリックして新しい Oracle 接続マネージャーを作成します。

[新規作成]

[新規作成] をクリックします。 新しい接続マネージャーを作成できる [Oracle 接続マネージャー エディター] ダイアログ ボックスが開きます。

[データ アクセス モード]

入力元のデータを選択する方法を選択します。 次の表に示すオプションがあります。

オプション 説明
テーブル名 バッチ モードで動作するように Oracle 変換先を構成します。 オプション:

[テーブル名またはビュー名] : 使用できるテーブルまたはビューを一覧のデータベースから選択します。

トランザクションのサイズ:単一のトランザクションに含めることができる挿入の数を入力します。 既定値は BatchSize です。

Batch size: 一括読み込みでのバッチ サイズ (読み込まれる行の数) を入力します。
テーブル名 – 高速読み込み 高速 (ダイレクト パス) 読み込みモードで動作するように Oracle 変換先を構成します。

次のオプションを使用できます。

[テーブル名またはビュー名] : 使用できるテーブルまたはビューを一覧のデータベースから選択します。

並列読み込み:並列読み込みが有効かどうか。 詳細については、「並列処理」をご覧ください。

ログ記録なし:このチェックボックスをオンにすると、データベースのログ記録が無効になります。 このログ記録は、復旧の目的で使用される Oracle データベースであり、トレースには関係しません。

エラーの最大数:データ フローが停止される前に許容されるエラーの最大数。 既定値は 0 です。これは、数の制限がないことを意味します。

エラー出力には、発生する可能性があるすべてのエラーが返されます。

転送バッファー サイズ (KB) :転送バッファーのサイズを入力します。 既定のサイズは 64 KB です。

[既存のデータを表示]

[既存のデータの表示] をクリックすると、選択したテーブルのデータが最大で 200 行表示されます。

Oracle 変換先エディター ([マッピング] ページ)

[Oracle 変換先エディター] ダイアログ ボックスの [マッピング] ページを使用して、入力列を変換先列にマップします。

Oracle 変換先エディターの [マッピング] ページを開くには

  • SQL Server Data Tools で、Oracle 変換先を含む SQL Server Integration Services (SSIS) パッケージを開きます。

  • [データ フロー] タブで、Oracle 変換先をダブルクリックします。

  • [Oracle 変換先エディター] で、[マッピング] をクリックします。

オプション

使用できる入力列

使用できる入力列の一覧です。 使用できる変換先列に入力列をドラッグ アンド ドロップして、列をマップできます。

使用できる変換先列

使用できる変換先列の一覧です。 使用できる入力列に変換先列をドラッグ アンド ドロップして、列をマップできます。

入力列

選択した入力列を表示します。 < 無視 > を選択して出力から列を除外することで、マッピングを削除できます。

変換先列

使用できるすべての変換先列を表示します (マップ済みの列とマップされていない列を両方とも含む)。

注意

サポートされていないデータ型の列は、警告と共にマッピングから削除されます。

Oracle 変換先エディター ([エラー出力] ページ)

[Oracle 変換先エディター] ダイアログ ボックスの [エラー出力] ページを使用して、エラー処理オプションを選択します。

[Oracle 変換先エディター] の [エラー出力] ページを開くには

  • SQL Server Data Tools で、Oracle 変換先を含む SQL Server Integration Services (SSIS) パッケージを開きます。

  • [データ フロー] タブで、Oracle 変換先をダブルクリックします。

  • [Oracle 変換先エディター]で、[エラー出力] をクリックします。

Options

エラー動作

Oracle ソースでフローでのエラーを処理する方法を選択します (エラーを無視する、行をリダイレクトする、またはコンポーネントを失敗させる)。 関連セクション:データのエラー処理

切り捨て

Oracle ソースでフローの切り捨てを処理する方法を選択します (エラーを無視する、行をリダイレクトする、またはコンポーネントを失敗させる)。

次のステップ