View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0003529 | SymmetricDS | Improvement | public | 2018-04-25 03:10 | 2018-10-03 17:48 |
Reporter | ddlg_2 | Assigned To | |||
Priority | high | ||||
Status | closed | Resolution | duplicate | ||
Product Version | 3.9.6 | ||||
Summary | 0003529: Symmetric needs to insert successfully null value into target_node_database_tables when initial load firstly | ||||
Description | Hi In the case of source_node_database_tables do not have any primary keys and some fields of the source_node_database_tables are empty, target_node_database_tables are created successfully when initial load firstly, but Symmetric can not insert automatically values into target_node_database_tables. part of target_node symmetric.log: 2018-04-18 15:37:39,020 INFO [server-010] [DefaultDatabaseWriter] [server-010-dataloader-1] About to create table using the following definition: <?xml version="1.0"?> <!DOCTYPE database SYSTEM "http://db.apache.org/torque/dtd/database"> <database name="dataextractor"> <table name="JC_CKDW"> <column name="CKDW_ID" primaryKey="true" type="DECIMAL" size="10"> <platform-column name="oracle" type="NUMBER" size="10"/> </column> <column name="CKDW_DZH" primaryKey="true" type="VARCHAR" size="50"> <platform-column name="oracle" type="VARCHAR2" size="50"/> </column> <column name="CKDW_DZM" primaryKey="true" type="VARCHAR" size="150"> <platform-column name="oracle" type="VARCHAR2" size="150"/> </column> <column name="CKDW_RYH" primaryKey="true" type="VARCHAR" size="50"> <platform-column name="oracle" type="VARCHAR2" size="50"/> </column> <column name="CKDW_RYM" primaryKey="true" type="VARCHAR" size="50"> <platform-column name="oracle" type="VARCHAR2" size="50"/> </column> <column name="CKDW_TIME" primaryKey="true" type="TIMESTAMP" size="7"> <platform-column name="oracle" type="DATE" size="7"/> </column> <column name="CKDW_DWMC" primaryKey="true" type="VARCHAR" size="50"> <platform-column name="oracle" type="VARCHAR2" size="50"/> </column> <column name="CKDW_TEMP1" primaryKey="true" type="VARCHAR" size="10"> <platform-column name="oracle" type="VARCHAR2" size="10"/> </column> <column name="CKDW_TEMP2" primaryKey="true" type="VARCHAR" size="10"> <platform-column name="oracle" type="VARCHAR2" size="10"/> </column> <column name="CKDW_TEMP3" primaryKey="true" type="VARCHAR" size="10"> <platform-column name="oracle" type="VARCHAR2" size="10"/> </column> <column name="CKDW_BS" primaryKey="true" type="VARCHAR" size="10"> <platform-column name="oracle" type="VARCHAR2" size="10"/> </column> </table> </database> 2018-04-18 15:37:41,006 INFO [server-010] [DefaultDatabaseWriter] [server-010-dataloader-2] Failed to process insert event in batch 001-12 on channel 'reload'. Failed sql was: insert into `test`.`jc_ckdd` (`ckdd_id`, `ckdd_bh`, `ckdd_dd`, `ckdd_cjsj`, `ckdd_by1`, `id`) values (?,?,?,?,?,?) Failed sql parameters: ['1', '0021001AD6C3', '??13#???', {ts '2018-01-28 16:09:43.000'}, '7896', null] Failed sql parameters types: [VARCHAR, VARCHAR, VARCHAR, TIMESTAMP, VARCHAR, BIGINT] Failed sql state and code: 23000 (1048) Failed row data was: "1","0021001AD6C3","??13#???","2018-01-28 16:09:43","7896", StackTraceKey.init [SqlException:2774797739] org.jumpmind.db.sql.SqlException: Column 'id' cannot be null at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:300) at org.jumpmind.db.sql.AbstractSqlTemplate.translate(AbstractSqlTemplate.java:291) at org.jumpmind.db.sql.JdbcSqlTransaction.addRow(JdbcSqlTransaction.java:478) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.execute(DefaultDatabaseWriter.java:865) at org.jumpmind.symmetric.io.data.writer.DefaultDatabaseWriter.insert(DefaultDatabaseWriter.java:202) at org.jumpmind.symmetric.io.data.writer.AbstractDatabaseWriter.write(AbstractDatabaseWriter.java:191) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.model.ProcessInfoDataWriter.write(ProcessInfoDataWriter.java:84) at org.jumpmind.symmetric.io.data.writer.NestedDataWriter.write(NestedDataWriter.java:64) at org.jumpmind.symmetric.io.data.writer.TransformWriter.write(TransformWriter.java:206) at org.jumpmind.symmetric.io.data.DataProcessor.forEachDataInTable(DataProcessor.java:210) at org.jumpmind.symmetric.io.data.DataProcessor.forEachTableInBatch(DataProcessor.java:177) at org.jumpmind.symmetric.io.data.DataProcessor.process(DataProcessor.java:123) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:1029) at org.jumpmind.symmetric.service.impl.DataLoaderService$LoadIntoDatabaseOnArrivalListener$1.call(DataLoaderService.java:991) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) part of source_node symmetric.log: 2018-04-18 15:37:36,668 INFO [client1-001] [PushService] [client1-001-push-default-10] Push data sent to server:010:010 2018-04-18 15:37:40,139 INFO [client1-001] [PushService] [client1-001-push-default-10] Pushed data to node server:010:010. 6 data and 6 batches were processed. (sym_node_security, sym_node, jc_lfyhis, jc_ckdd, jc_lfy, jc_ckdw) 2018-04-18 15:37:40,139 INFO [client1-001] [PushService] [client1-001-push-default-10] Pushing to server:010:010 again because the last push contained reload batches 2018-04-18 15:37:40,315 INFO [client1-001] [PushService] [client1-001-push-default-10] Push data sent to server:010:010 2018-04-18 15:37:41,347 ERROR [client1-001] [AcknowledgeService] [client1-001-push-default-10] The outgoing batch 010-12 failed: [23000,1048] Column 'id' cannot be null | ||||
Steps To Reproduce | source node: 1.Oracle database type 2.Tables of needing to synchronzie do not have any primary keys and some fields of the tables are empty in the oracle database target node: 1.MariaDB/MySQL database type 2.in the MariaDB/MySQL database, it has not the source_node_database_tables of needing to synchronzie | ||||
Additional Information | I wanted to sync a null value to the "id" column or other column,which is defined as nullable, can it be achieved? thanks! | ||||
Tags | No tags attached. | ||||
duplicate of | 0003521 | closed | josh-a-hicks | Create Table First is creating table with all columns as primary key instead of none |