PowerReplication V3.0またはV2.0との組み合わせで連携した場合の説明を行います。
PowerReplicationは、SQL ServerのデータをODBCのSQL型に変換して処理します。PowerRW+のデータは、データ型を変換せず、SQLのデータとして処理します。
データ型の対応
データ型を変換する仕組みを示します。
分類 | SQL Server | PowerReplication | PowerRW+ |
---|---|---|---|
真数 | numeric(p,q)※1 | NUMERIC(p,q) | 外部10進数字項目 |
decimal(p,q)※1 | DECIMAL(p,q) | 内部10進数字項目 | |
int | INTEGER | 符号付4バイト2進数字項目 | |
smallint | SMALLINT | 符号付2バイト2進数字項目 | |
文字列 | char | CHARACTER | 4095文字までの英数字項目 |
nchar | CHARACTER | 2047文字までの日本語項目 | |
概数 | real | REAL,FLOAT | 単精度浮動小数点項目 |
倍精度浮動小数点項目 | |||
- | |||
日時 | datetime | TIMESTAMP | - |
※1)p(精度)が18を超えると、PowerReplicationはp(精度)を18として扱います。このとき、整数部の桁数が最大になるように位取りを調整します。この範囲の値を超えるとエラーとなります。
※2)smalldatetime型は、秒の値が扱えません。このため、PowerReplicationは、0(秒)として処理します。
※3) 長さにmaxを指定した場合、使用できません。
データ型の組合せで、以下の代入規則が成り立つデータ型を関連づけできます。
PowerRW+ | |||||
---|---|---|---|---|---|
真数 | 概数 | 文字列 | 日時 | ||
SQL Server | 真数 | ○ | ○ | × | × |
概数 | ○ | ○ | × | × | |
文字列 | × | × | ○ | × | |
日時 | × | × | × | ○※ |
○:代入できる ×:代入できない
※)PowerRW+のDATE型およびTIME型は代入できません。
代入する値の長さが、反映先の項目長を超える場合、同期の実行はエラーとなり、同期が中断されます。
この場合、データファイルの内容を修正して、一括同期を行うことが必要です。
主キー
主キーとするデータ型の対応を示します。
分類 | SQL Server | PowerReplication | PowerRW+ |
---|---|---|---|
真数 | numeric(p,q)※ | NUMERIC(p,q)※ | 外部10進数字項目 |
decimal(p,q)※ | DECIMAL(p,q)※ | 内部10進数字項目 | |
int | INTEGER | 符号付4バイト2進数字項目 | |
smallint | SMALLINT | 符号付2バイト2進数字項目 | |
文字列 | char(l)※ | CHARACTER(l)※ | 4095文字までの英数字項目 |
日時 | datetime | TIMESTAMP | - |
※)l(長さ)、p(精度)およびq(位取り)は、SQL ServerとPowerRW+で一致していることが必要です。
レプリケーションの主キーに、概数を含むことができません。
合成キー(複数の項目で構成されているキー)は、項目の並び順が一致していることが必要です。