変換エディターの制限
変換エディターを使用する際には、以下の制限があります。
• ループチェーンはサポートされません。
シーケンスを含むループ反復子は、別のループのソースとして使用できません。これを回避する方法は次のとおりです。
— 複数のループ操作の代わりに、複数の反復子を持つ単一のループを使用します。
— 子シーケンスを子変換にマップし、その子変換内で必要な2番目のループを実行します。
• XMLの制限
— XML置換グループは現在サポートされていません。
— XMLタイプの制限はサポートされていません。変換エディターでは、制限付きのXMLタイプを使用できますが、現在、制限は無視されます。
— XMLのanyおよびall要素とグループは完全にはサポートされていません。
— 一部のTDVプロシージャは、スキーマのないXMLを出力します。このようなプロシージャの使用は制限される場合があります。
— XMLファイル、Webサービス、およびXML/HTTPデータソースは、データソースのXML定義セットとそれらのデータソース内のリソースの署名の関連付けを自動的に生成するか、このような関連付けを行う機能を提供します。これにより、変換エディターは、これらのリソースに関連付けられているXMLスキーマを使用して動作できます。既存のデータソースに定義が関連付けられていない場合は、それらのデータソースを再イントロスペクトまたは再作成して定義を取得できます。
— XMLの和集合(要素ベース)はサポートされていません。ただし、XMLの選択はサポートされており、変換エディター内では正規の和集合タイプとして表示されます。
• コード生成
— クエリーと結合に関するヒントは、SQLに最適化されるクエリーにのみ適用されます。
— SQLプッシュの最適化は、クエリー操作とそれらが直接依存するソースにのみ適用されます。
— クエリーがXQueryまたはSQLとして生成されるかどうかを示すインジケーターはありません。生成されたソースコードを調べて、最適化されているかどうかを確認する必要があります。一般に、クエリーのソースがリレーショナルである場合は、SQLが生成されます。
— ランタイムスキーマの検証は実行されません。
• その他の制限
— 要素の選択を実行する方法はありません。要素名に基づいて決定を下す変換はサポートされていません。
— 相互結合はサポートされていません。
— 大文字と小文字の区別の不一致を処理する方法はありません。
— 期間のリテラル形式はありません。
— 複雑な構造へのキャストでは、キャスト操作はサポートされません。構造の子をキャストする必要がある場合は、フィールド単位で構造を割り当て、フィールドごとに適切なキャストを挿入する必要があります。構造がシーケンスの場合は、マッピングにループ操作を挿入してすべての要素を反復処理し、ターゲット構造に(適切なキャストを使用して)個別に割り当てることができます。
— 正常に機能しないSQL関数がいくつかあります。これには以下が含まれます。
CAST、CORR、COVAR_SAMP、STDDEV、STDDEV_POP、STDDEV_SAM、SUM_FLOAT、VAR_POP、VAR_SAMP、VARIANCE、VARIANCE_POP、VARIANCE_SAMP、XMLATTRIBUTES、XMLFOREST、XMLQUERY
— 中間値のプレースホルダーを作成することはできません。回避策は、子変換を呼び出し、その変換の出力を、再利用する中間値の参照として使用することです。子変換の呼び出しは、完全なTDVプロシージャ呼び出しのオーバーヘッドを回避するように最適化されます。
— XML要素に直接基づいている要素の名前を変更すると、変換が機能しない場合があります。XML要素に基づいて要素の名前を変更することは避けてください。XML要素に基づいて要素を作成すると、通常、XML要素に一致するデフォルトの名前と名前空間がその要素に割り当てられます。これは、ネイティブXML要素名と一致するように要素の名前を変更することで修正できます。