ネイティブフィールド名の特殊文字
デフォルトでは、マッピングによってフィールド名のすべての特殊文字がアンダースコア(_)に置き換えられます。フラットファイル、MySQL、Oracle、およびSQL Server接続のフィールド名に一部の特殊文字を保持するようにマッピングを設定できます。
フィールド名の特殊文字を保持するようにマッピングを設定すると、マッピングでは、すべてではありませんがほとんどの文字が保持されます。次の表に、さまざまなタイプのトランスフォーメーションで特殊文字を処理する方法を示します。
トランスフォーメーションタイプ | 特殊文字の処理 |
|---|
ソーストランスフォーメーション | 次の文字はアンダースコアに置き換えられます。 " ; : , \t \r \n |
すべてのミッドストリームトランスフォーメーション | 次の文字はアンダースコアに置き換えられます。 。+ - = ~ ` ! $ % ^ & * ( ) [ ] { } ' \ " ; : / ? , < > | \t \r \n ユーザーが定義した式では、数字記号(#)を含むフィールド名を使用することはできません。例えば、アグリゲータトランスフォーメーションまたは式トランスフォーメーションの式には、数字記号を含めることはできません。 |
ルックアップトランスフォーメーション | 次のような文字の使用は、マッピングが失敗する原因となります。 。+ - = ~ ` ! $ % ^ & * ( ) [ ] { } ' \ " ; : / ? , < > | \t \r \n |
Normalizerトランスフォーメーション | 正規化されたフィールド名に数字記号を含めることはできません。 |
ターゲットトランスフォーメーション | 次の文字はアンダースコアに置き換えられます。 。" ; : , \t \r \n ターゲットフィールド名に数字記号が含まれている場合、ターゲットトランスフォーメーションでは自動フィールドマッピングを使用する必要があります。 |
特殊文字を保持する場合は、次のルールとガイドラインを考慮してください。
- •フィールド名の最初の文字は、英数字またはアンダースコアにする必要があります。
- •詳細モードおよびSQL ELTモードのマッピングには、特殊文字を保持するオプションはありません。
- •特殊文字を保持するようにプロパティを有効にすると、ソーストランスフォーメーションとターゲットトランスフォーメーションではフィールド名が更新されますが、ミッドストリームトランスフォーメーションでは変更は発生しません。ミッドストリームトランスフォーメーションのフィールド名が、ソースおよびターゲットのフィールド名と一致していることを確認してください。
例えば、ソーストランスフォーメーションと式トランスフォーメーションとのマッピングで、F·Nameという名前のフィールドを持つソースファイルを使用するとします。デフォルトでは、マッピングによって中央のドットがアンダースコアに置き換えられ、両方のトランスフォーメーションでフィールド名はF_Nameになります。特殊文字を保持するためのプロパティを有効にすると、ソーストランスフォーメーションのフィールド名はF·Nameに更新されますが、式トランスフォーメーションでは引き続きF_Nameが使用されます。式トランスフォーメーションのフィールド名を手動で更新して、ソーストランスフォーメーションの名前と一致するようにします。
ネイティブフィールド名の特殊文字の維持
特殊文字を保持するには、マッピングの詳細プロパティとDTMプロパティを設定します。
1Mapping Designerで、[アクション] > [詳細プロパティ]をクリックし、[ネイティブフィールド名の特殊文字を維持]プロパティを有効にします。
2Secure AgentまたはマッピングタスクでDTMプロパティAddQuotesAlwaysを設定します。
Secure Agentでプロパティを設定するには、次の手順を実行します。
- aAdministratorで、[ランタイム環境]ページでエージェントを見つけて、[編集]をクリックします。
- b[カスタム構成の詳細]セクションで、サービスに[データ統合サーバー]を選択し、タイプに[DTM]を選択します。
- c名前をAddQuotesAlwaysに設定し、値をYesに設定します。
マッピングタスクでプロパティを設定するには、次の手順を実行します。
- aデータ統合で、マッピングタスクを編集します。
- b[ランタイムオプション]ページの[詳細セッションプロパティ]セクションで、新しいセッションプロパティを追加します。
- cプロパティ名[カスタムプロパティ]を選択し、値をAddQuotesAlways=Yesに設定します。
- dSecure Agentで、DTMプロパティUseCustomSessionConfigの値がYesに設定されていることを確認します。
3マッピングにルックアップトランスフォーメーションが含まれている場合は、DTMプロパティAddQuotesForLookupを設定し、値をYesに設定します。手順2の指示に従って、Secure Agentまたはマッピングタスクでプロパティを設定します。