タスク > レプリケーションタスク > データベースターゲットのテーブル名とカラム名
  

データベースターゲットのテーブル名とカラム名

レプリケーションタスクでは、ソースのオブジェクトとフィールドを、それぞれターゲットのデータベーステーブルとカラムにレプリケートします。レプリケーションタスクは、ターゲットのテーブルおよびカラムに、ソースのオブジェクトおよびフィールドと同じ名前を付けないことがあります。
レプリケーションタスクがソースと同じ名前を付けないのは、次のような場合です。

テーブル名のトランケート

ソースオブジェクトをデータベースにレプリケートするとき、レプリケーションタスクは、ソースオブジェクトと同じ名前のデータベーステーブルにデータをレプリケートします。
データをデータベースターゲットにレプリケートするときに、ソースオブジェクト名の長さがターゲットテーブル名で許可されている最大文字数を超える場合、レプリケーションタスクはターゲットデータベースのテーブル名をトランケートします。テーブル名は、最初のX文字にトランケートされます。Xは、ターゲットデータベースのテーブル名で許可されている最大文字数です。

同一レプリケーションタスクのテーブル名の重複

同一のレプリケーションタスクで複数のソースオブジェクトを同じデータベースユーザーアカウントにレプリケートし、トランケートによってテーブル名の重複が生じる場合、レプリケーションタスクは重複するテーブル名の末尾の文字を連番で置き換えます。
例えば、レプリケーションタスクに次のSalesforceソースオブジェクトが含まれているとします。
TenLetters1234567890TenLettersXXX
TenLetters1234567890TenLettersYYY
TenLetters1234567890TenLettersZZZ
これらのオブジェクトをレプリケートする際に、レプリケーションタスクは、ターゲットデータベースに次のようなトランケートされたテーブル名を作成します。
TenLetters1234567890TenLetters
TenLetters1234567890TenLetter1
TenLetters1234567890TenLetter2

異なるレプリケーションタスクでのテーブル名の重複

異なるレプリケーションタスクで同名のソースオブジェクトを同じデータベースユーザーアカウントに複数レプリケートすると、レプリケーションタスクは1つのターゲットテーブルを作成し、ユーザーがオブジェクトの1つをレプリケートするたびにテーブルデータを上書きします。完全なロードを実行すると、テーブル全体が上書きされます。増分ロードを実行すると、変更された行が上書きされます。
テーブルが上書きされないようにするには、各レプリケーションタスクで、異なるターゲットテーブル名プレフィックスを使用します。

カラム名のトランケート

ソースフィールド名の長さが、リレーショナルターゲットのカラム名で許可されている最大文字数を超える場合、レプリケーションタスクは、ターゲットデータベース内のカラム名をトランケートします。カラム名は、最初のX文字にトランケートされます。Xは、ターゲットデータベースのカラム名で許可されている最大文字数です。
例えば、レプリケーションタスクは、Salesforceオブジェクトの次の40文字のフィールド名に基づいて、Oracleデータベースのカラム名を作成します。
TenLetters1234567890TenLettersXXXXXXXXXX
レプリケーションタスクは、最初の30文字にカラム名をトランケートします。
TenLetters1234567890TenLetters
トランケートによってターゲットテーブルのカラム名が重複した場合、レプリケーションタスクは、重複したカラム名の最後の文字を連続番号で置き換えます。また、レプリケーションタスクは、同じタスク内の重複したテーブル名の最後の文字も置き換えます。