PowerReplicationは、OracleのデータをODBCのSQL型に変換して処理します。Symfoware6000のデータは、ASP レプリケーションサービス経由でSQLのデータとして処理します。
データ型の対応
データ型を変換する仕組みを示します。
分類 | Oracle | PowerReplication | Symfoware6000 |
---|---|---|---|
真数 | NUMBER(p,q)※1 | NUMERIC(p,q) | 外部10進数字項目 |
内部10進数字項目 | |||
符号付2バイト2進数字項目 | |||
NUMBER(38,q)※1 | INTEGER | 符号付4バイト2進数字項目 | |
概数 | NUMBER | DOUBLE | - |
文字列 | CHAR | CHARACTER | 4095文字までの英数字項目 |
NCHAR | CHARACTER | 999文字までの日本語項目※4 | |
日時 | DATE | TIMESTAMP | 外部10進数字項目 |
内部10進数字項目 | |||
4095文字までの英数字項目 |
※1)p=38,q=0の場合、PowerReplicationはINTEGERとして処理します。p(精度)が18を超えると、PowerReplicationはp(精度)を18として扱います。このとき、整数部の桁数が最大になるように位取りを調整します。この範囲の値を超えるとエラーとなります。
※2)日時変換書式を指定した項目は、ASP レプリケーションサービスが日時(TIMESTAMP)として処理します。日時変換書式の詳細および指定方法は、「ASP レプリケーションサービス説明書」を参照してください。
※3) ASPレプリケーションサービスの動作環境(動作文字コード)に依存します。ASP V24以前のシステムと連携する場合、または、ASP V25以降のシステムで動作文字コードにシフトJISを設定したシステムと連携する場合、CHARACTERに変換します。ASP V25以降のシステムで動作文字コードにUnicodeを設定したシステムと連携する場合、WIDE CHARACTERに変換します。
※4) ASP V25以降のシステムで動作文字コードにUnicodeを設定したシステムと連携する場合、Oracleのデータベースのキャラクタセットを以下の設定で作成すると、666文字を超える日本語データは扱えません。
・キャラクタセット:AL32UTF8
・各国語キャラクタセット:UTF8
Oracleの概数(NUMBER型)は、Symfoware6000の真数と関連づけできます。
データ型の組合せで、以下の代入規則が成り立つデータ型を関連づけできます。
Symfoware6000 | ||||
---|---|---|---|---|
真数 | 文字列 | 日時※1 | ||
Oracle | 真数 | ○ | × | × |
概数 | ○ | × | × | |
文字列 | × | ○※2 | × | |
日時 | × | × | ○※3 |
○:代入できる ×:代入できない
※1)日時変換書式を指定した項目は、日時(TIMESTAMP)として扱われます。
※2)文字コード変換されます。
※3)日時を代入(関連づけ)できる条件および代入されるデータの内容は、「ASP レプリケーションサービス説明書」を参照してください。
代入する値の長さが、反映先の項目長を超える場合、同期の実行はエラーとなり、同期が中断されます。
この場合、データファイルの内容を修正して、一括同期を行うことが必要です。
主キー
主キーとするデータ型の対応を示します。
分類 | Oracle | PowerReplication | Symfoware6000 |
---|---|---|---|
真数 | NUMBER(p,q)※ | NUMERIC(p,q)※ | 外部10進数字項目 |
内部10進数字項目 | |||
NUMBER(38,0) | INTEGER | 符号付4バイト2進数字項目 | |
文字列 | CHAR(l)※ | CHARACTER(l)※ | 4095文字までの英数字項目 |
日時 | DATE | TIMESTAMP | 外部10進数字項目 |
内部10進数字項目 | |||
4095文字までの英数字項目 |
※)l(長さ)、p(精度)およびq(位取り)は、OracleとSymfoware6000で一致していることが必要です。
レプリケーションの主キーに、概数を含むことはできません。
合成キー(複数の項目で構成されているキー)は、項目の並び順が一致していることが必要です。