|Product:||Syniti Data Replication, DBMoto|
|Summary:||Performing a refresh replication with bulk insert to an IBM Db2 for i/iSeries/AS400 target requires journaling on target tables.|
Q: I’ve set the Insert Mode in the Replication Properties dialog to Bulk for my refresh replication to IBM i/iSeries/AS400. However, when I run the Syniti DR/DBMoto engine, I'm getting an error in the DBMoto.log file:
"System.Data.Sql400.Sql400Exception: ODBS Execute Error: ADATATYPE in DBMLIB1 not valid for operation. [SQLCODE: -7008 SQLSTATE: 55019]"
Issue: Execute error in performing a bulk insert on target table 'DBMLIB1.ADATATYPE', replication 'New Replication'. Record by record insertion will be attempted.
System.Data.Sql400.Sql400Exception: ODBS Execute Error: ADATATYPE in DBMLIB1 not valid for operation. [SQLCODE: -7008 SQLSTATE: 55019]
A: When performing a refresh replication to IBM i/iSeries/AS400 with the bulk insert option, you need to do the following:
· Set the isolation level on the i/iSeries/AS400 to something other than 0.
· Journalize the target table, or make sure that the library is a collection.
The Ritmo/i .NET data provider requires the isolation level to be set to something other than 0 for bulk insert operations and the IBM i/iSeries/AS400 requires tables to be journaled or part of a collection for non-zero isolation levels.
For more information about journaling, check knowledge base article 1556 on Journals and Receivers