Dr.SumEA Synchronizer for Oracle(R) database1.1リリース情報

公開日時:2013/02/22 20:27 記事番号:000009190
製品ブランド:Dr.Sum

機能追加事項

・ Oracle database 10gに対応しました。
・ Oacle.pyにある設定値「sync_table_list」で、Dr.SumEAのテーブル名を指定可能にしました。
これによって、Oracleの同期対象テーブルと異なるテーブル名でもテーブル構成が同一であれば同期が可能となります。
・ Oracle.pyにある設定値「sync_table_list」に、OracleのHINT句(/*+ hint */)を指定可能にしました。
指定がある場合は、ジャーナルテーブルに対して同期チェックを行うためのSELECT文にHINT句が追加されるようになります。
・ Oracle.py に設定値「sync_timeout」を追加し、接続先データベースに対してタイムアウト値の設定を可能にしました。単位は秒指定になります。
・ Journal Settingsでジャーナル名を指定可能にしました。
・ Journal Settingsでインポートを行うと、その際のテーブルマッピング情報を[Dr.SumEAインストールフォルダ]systemtemp に仮想テーブル形式のファイル(*.vtb、*.vrq)で保存するように変更しました。

修正事項

・ 1回の同期中に同一キーに対する更新が行われた場合に、ユニーク制約エラーが発生する点に対応するため、Oracle.py に設定値「ods_commit_type」を追加し、Dr.SumEAのCOMMITタイミングを指定可能にしました。
(0:1回の同期の最後にCOMMIT、1:SQL発行毎にCOMMIT)
・ Oracle.py のテーブル指定方法をリスト形式から構造体形式に変更しました。
これに伴い、Ver1.0からVer1.1へバージョンアップを行う場合には、Oracle.py のフォーマットをVer1.1用に設定しなおす必要があります。
- Ver1.0の例
tablename = ['SALES.TABLE1','SALES.TABLE2']
keyname = [['ID'],['ID']]
columnlist = [[],[]]



- Ver1.1の例
sync_table_list = [
[  
'SALES.TABLE1', # 同期テーブル名
'SALES.TABLE1', # ジャーナルテーブル名
'TABLE1', # Dr.Sumテーブル名
['ID'], # キー項目リスト
[], # 選択項目リスト
'', # HINT句(Oracle用)
],
[
'SALES.TABLE2',
'SALES.TABLE2',
'TABLE2'
['ID'],
[],
'',
],
]  


・ 同期カウンターの更新に失敗した場合のリトライ処理を変更しました。
同期処理時に同期カウンターの更新に失敗した場合、Ver1.0ではテーブルロックエラーのみリトライしていましたが、その他のエラーの場合は最高で3回のリトライを行うように変更しました。
・ Journal Settingsにおいて、Oracle側のテーブルのプレビューを行った場合にROWID項目の項目名が空白になっていた点を修正しました。
・ Oracleにジャーナルテーブルを作成する際のCREATE TABLE文が正しく生成されずエラーとなる場合がある点を修正しました。
・ 同期ログファイルに、コミット件数あるいはコミット時間が出力されない場合がある点を修正しました。
・ 同期対象のOracleのテーブルに、シングルクォートの含まれるデータの更新が行われた場合に「-600001:SQL文の整形に失敗しました。」のエラーが発生する点を修正しました。