13 EDQにおける制限
この章では、データの読書きの際にEDQで適用される様々な制限に関するガイドラインについて説明します。
-
EDQ結果スキーマのOracle VARCHAR列
Oracle Database 12c以降は、32767バイトまたは4000バイトをVARCHAR列の最大サイズとしてサポートするように構成できます。EDQが起動すると、最大サイズが自動的に検出され、結果表のすべてのVARCHAR列がこのサイズで作成されます。
EDQバージョン12.2.1.4.3以降では、個々の列をlongとしてマークするように構成できます。longとマークされた列はVARCHAR(32767)として作成され、その他の列はVARCHAR(4000)として作成されます。
デフォルトの列サイズは、ファイルdirector.properties
の次のプロパティを設定して制御できます:oracle.default.string.size
: longとマークされていない任意の列に使用するサイズを設定します。デフォルト値は4000です。oracle.max.string.size
: longとマークされている任意の列に使用するサイズを設定します。拡張文字列が有効になっているデータベースのデフォルト値は32767で、それ以外は4000です。
oracle.default.string.sizeとoracle.max.string.sizeの値が等しくない場合は、列の選択フラグが表示されないことに注意してください。これは、拡張文字列が有効になっていないデータベースなどで発生します。
この列サイズは、データベースによって課される制限(4000または32767)より大きくすることはできません。
スナップショットを実行すると、最大文字列サイズより長い値は自動的に切り捨てられ、スナップショットの結果表示では切捨てとしてマークされます。書き込まれた値が最大値より長い場合、他のすべてのデータ(プロセッサ結果や照合データなど)は切り捨てられず、プロセスは
「ORA-01461: LONG値はLONG列にのみバインドできます」
または「ORA-12899: 列の値が大きすぎます」
エラーで失敗します。結果表の列に長い値が含まれている場合、列の索引付けは
「ORA-01450: キーが最大長(string)を超えました」
エラーで失敗します。これは、EDQログに警告として記録されますが、プロセスが失敗することはありません。スナップショット列を、構成した最大値より短い長さに切り捨てる場合は、ファイルdirector.properties
にsnapshot.max.string.size
を設定します。例:snapshot.max.string.size = 3000
これは、スナップショット列索引の
ORA-01450
エラーを回避する場合や、スナップショット列から計算されたデータが結果表の制限を超える可能性がある場合に役立ちます。ノート:
エクスポート用に作成された表のすべてのVARCHAR列は、4000バイトに制限されます。より長い列を含む表にエクスポートする場合は、エクスポートを構成する前に最初に表を作成します。 - Microsoft Excelのxls形式を使用する場合の行制限 - .xls拡張子を使用するMicrosoft Excelデータ・ストアを構成する場合、エクスポートは65536行に制限されます。このファイル・タイプでは、指定された制限までしかサポートされないためです。データの量が多い場合は、常に.csvエクスポート形式を使用する必要があります。ただし、メモリーが十分にある場合は、.xlsx形式を使用することも可能です。
理解を深めるために、次に示すベスト・プラクティス・ガイドラインを参照してください。
-
Microsoft Excelを使用するときの現実的な行制限 - EDQでは、クライアント側とサーバー側の両方のデータ・ストアを使用したExcelファイルの直接の読取りおよび書込みがサポートされます。
次のベスト・プラクティス・ガイドラインに従ってください:
-
結果をExcelと容易に共有するための結果ブラウザのボタンは、結果サマリー(データではなく統計を表示する結果ビュー)とデータの小さなサンプル(最大1000件のレコード)を共有するために設計されています。これはクライアント側のメモリー制限に違反する可能性が高いため、大量のデータのエクスポートには使用しないでください。
-
大量のデータを書き込む場合は、必ずCSVファイル形式を使用してください。CSVファイルは、データを表示するために簡単にExcelにインポートできます。
-
Excelを使用する場合は、XLSではなくXLSXファイル拡張子を指定し、エクスポート時にファイル(ストリーム・データ)を常に上書きするオプションを有効にします。ファイルは、スナップショット中(データ・インポート中)に常にストリーミングされます。ストリーミング・モードでは、はるかに少ないメモリーで大規模なXLSXファイルの書込みを行えますが、ワークシートが保持されず、追加モードもサポートされません。
-