at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:292)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:607)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:792)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:850)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:854)
at org.jumpmind.symmetric.service.impl.ConfigurationService.insert(ConfigurationService.java:257)
at org.jumpmind.symmetric.service.impl.BootstrapService.rebuildTriggerIfNecessary(BootstrapService.java:413)
at org.jumpmind.symmetric.service.impl.BootstrapService.updateOrCreateSymTriggers(BootstrapService.java:254)
at org.jumpmind.symmetric.service.impl.BootstrapService.syncTriggers(BootstrapService.java:147)
at org.jumpmind.symmetric.load.SyncTriggersRequiredFilter.batchComplete(SyncTriggersRequiredFilter.java:83)
at org.jumpmind.symmetric.service.impl.DataLoaderService.fireBatchComplete(DataLoaderService.java:310)
at org.jumpmind.symmetric.service.impl.DataLoaderService.access$000(DataLoaderService.java:73)
at org.jumpmind.symmetric.service.impl.DataLoaderService$1.doInTransactionWithoutResult(DataLoaderService.java:295)
at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadBatch(DataLoaderService.java:284)
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadDataAndReturnBatches(DataLoaderService.java:200)
at org.jumpmind.symmetric.service.impl.DataLoaderService.loadData(DataLoaderService.java:271)
at org.jumpmind.symmetric.service.impl.RegistrationService.registerWithServer(RegistrationService.java:138)
at org.jumpmind.symmetric.service.impl.PullService.pullData(PullService.java:54)
at org.jumpmind.symmetric.job.PullJob.doJob(PullJob.java:35)
at org.jumpmind.symmetric.job.AbstractJob.run(AbstractJob.java:78)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Caused by: java.sql.SQLException: ORA-01400: can not insert into NULL ("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:330)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:287)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:742)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:215)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:954)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1167)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3315)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3399)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:101)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:798)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
... 22 more
The error indicates that no column names are being found. You didn't happen to enter all the columns in 'excluded_column_names', did you? How many more columns are in the table?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
--
-- Triggers
--
-- table B_JCSJ_GONGLLX
insert into sym_trigger
(source_schema_name, source_table_name, target_schema_name, target_table_name, source_node_group_id, target_node_group_id, channel_id, sync_on_insert, sync_on_update, sync_on_delete, excluded_column_names, initial_load_order, last_updated_by, last_updated_time, create_time)
values('USR_DUANX', 'B_JCSJ_GONGLLX', 'USR_GONGA', 'B_JCSJ_GONGLLX', 'store', 'corp', 'channel_one', 1, 1, 1, 'F_VC_JISDJ,F_NB_QIDJD,F_NB_QIDWD,F_NB_ZONGDJD,F_NB_ZONGDWD,F_NB_XINGSLHSXS,F_VC_DISFID,F_VC_YUANXTLXBM,F_VC_QIDXYZB,F_VC_ZHONGDXYZB,F_NB_PAIXU', 125, 'sjtsoft', current_timestamp, current_timestamp);
USR_DUANX is an oracle user on database A
USR_GONGA is an oracle user on database B
table B_JCSJ_GONGLLX is another oracle user's table on database A
A db:
login in with USR_DUANX,
select * from USR_JICSJ.B_JCSJ_GONGLLX.
i create a synonym,
so select * from B_JCSJ_GONGLLX is ok.
B db:
login in with USR_GONGA,
select * from B_JCSJ_GONGLLX is ok.
i want to B_JCSJ_GONGLLX can synncronize from A to B.
when i run the SymmetricDs
it took exception:
177547 2009-04-28 15:45:59 org.jumpmind.symmetric.service.impl.BootstrapService ERROR -Failed to synchronize trigger for USR_DUANX.B_JCSJ_GONGLLD
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL
insert into sym_trigger_hist
(trigger_id,source_table_name,table_hash,create_time,column_names,pk_column_names,last_trigger_build_reason,name_for_delete_trigger,name_for_insert_trigger,name_for_update_trigger,source_schema_name,source_catalog_name,trigger_row_hash)
values(?,?,?,?,?,?,?,?,?,?,?,?,?)
; ORA-01400: can not insert null value("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
; nested exception is java.sql.SQLException: ORA-01400: can not insert NULL into("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
Caused by: java.sql.SQLException: ORA-01400: can not insert into NULL ("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
when i do that with another user 'test' :
insert into sym_trigger
(source_schema_name, source_table_name, target_schema_name, target_table_name, source_node_group_id, target_node_group_id, channel_id, sync_on_insert, sync_on_update, sync_on_delete, excluded_column_names, initial_load_order, last_updated_by, last_updated_time, create_time)
values('test, 'B_JCSJ_GONGLLX', 'USR_GONGA', 'B_JCSJ_GONGLLX', 'store', 'corp', 'channel_one', 1, 1, 1, 'F_VC_JISDJ,F_NB_QIDJD,F_NB_QIDWD,F_NB_ZONGDJD,F_NB_ZONGDWD,F_NB_XINGSLHSXS,F_VC_DISFID,F_VC_YUANXTLXBM,F_VC_QIDXYZB,F_VC_ZHONGDXYZB,F_NB_PAIXU', 125, 'sjtsoft', current_timestamp, current_timestamp);
i create the table B_JCSJ_GONGLLX on user test;
and the SymmetricdsDs run OK.
my english is poor, may be i didn't express my mean clearly.
USR_JCSJ.B_JCSJ_GONGLLX:
F_NB_LUXZDBH NUMBER(38, 0) NOT NULL,
F_VC_LUXBH VARCHAR2(30) NOT NULL,
F_VC_JISDJ VARCHAR2(30),
F_VC_LUXMC VARCHAR2(30) NOT NULL,
F_NB_QIDZH NUMBER(38, 3) NOT NULL,
F_NB_ZHONGDZH NUMBER(38, 3) NOT NULL,
F_FL_QINGYTCLC DOUBLE PRECISION NOT NULL,
F_VC_QID VARCHAR2(100),
F_VC_ZHONGD VARCHAR2(100),
F_VC_SHANGXFXDW VARCHAR2(30),
F_NB_QIDJD NUMBER(38, 8),
F_NB_QIDWD NUMBER(38, 8),
F_NB_ZONGDJD NUMBER(38, 8),
F_NB_ZONGDWD NUMBER(38, 8),
F_VC_SHANGXFXMS VARCHAR2(30),
F_VC_XIAXFXDW VARCHAR2(30),
F_VC_XIAXFXMS VARCHAR2(30),
F_VC_SUOSDW VARCHAR2(30) NOT NULL,
F_NB_CHEDS NUMBER(38, 0) NOT NULL,
F_NB_SHEJSD NUMBER(38, 0) NOT NULL,
F_NB_JIBTXNL NUMBER(38, 0) NOT NULL,
F_NB_XINGSLHSXS DOUBLE PRECISION NOT NULL,
F_VC_DISFID VARCHAR2(18),
F_VC_YUANXTLXBM VARCHAR2(30),
F_VC_QIDXYZB VARCHAR2(200),
F_VC_ZHONGDXYZB VARCHAR2(200),
F_NB_PAIXU NUMBER(3),
USR_GONGA.B_JCSJ_GONGLLX:
insert into sym_trigger
(source_schema_name, source_table_name, target_schema_name, target_table_name, source_node_group_id, target_node_group_id, channel_id, sync_on_insert, sync_on_update, sync_on_delete, excluded_column_names, initial_load_order, last_updated_by, last_updated_time, create_time)
values('USR_DUANX', 'B_JCSJ_GONGLLX', 'USR_GONGA', 'B_JCSJ_GONGLLX', 'store', 'corp', 'channel_one', 1, 1, 1,
'F_VC_JISDJ,F_NB_QIDJD,F_NB_QIDWD,F_NB_ZONGDJD,F_NB_ZONGDWD,F_NB_XINGSLHSXS,F_VC_DISFID,F_VC_YUANXTLXBM,F_VC_QIDXYZB,F_VC_ZHONGDXYZB,F_NB_PAIXU',
125, 'demo', current_timestamp, current_timestamp);
USR_JCSJ.B_JCSJ_GONGLLX:
F_NB_LUXZDBH NUMBER(38, 0) NOT NULL,
F_VC_LUXBH VARCHAR2(30) NOT NULL,
F_VC_JISDJ VARCHAR2(30),
F_VC_LUXMC VARCHAR2(30) NOT NULL,
F_NB_QIDZH NUMBER(38, 3) NOT NULL,
F_NB_ZHONGDZH NUMBER(38, 3) NOT NULL,
F_FL_QINGYTCLC DOUBLE PRECISION NOT NULL,
F_VC_QID VARCHAR2(100),
F_VC_ZHONGD VARCHAR2(100),
F_VC_SHANGXFXDW VARCHAR2(30),
F_NB_QIDJD NUMBER(38, 8),
F_NB_QIDWD NUMBER(38, 8),
F_NB_ZONGDJD NUMBER(38, 8),
F_NB_ZONGDWD NUMBER(38, 8),
F_VC_SHANGXFXMS VARCHAR2(30),
F_VC_XIAXFXDW VARCHAR2(30),
F_VC_XIAXFXMS VARCHAR2(30),
F_VC_SUOSDW VARCHAR2(30) NOT NULL,
F_NB_CHEDS NUMBER(38, 0) NOT NULL,
F_NB_SHEJSD NUMBER(38, 0) NOT NULL,
F_NB_JIBTXNL NUMBER(38, 0) NOT NULL,
F_NB_XINGSLHSXS DOUBLE PRECISION NOT NULL,
F_VC_DISFID VARCHAR2(18),
F_VC_YUANXTLXBM VARCHAR2(30),
F_VC_QIDXYZB VARCHAR2(200),
F_VC_ZHONGDXYZB VARCHAR2(200),
F_NB_PAIXU NUMBER(3),
USR_GONGA.B_JCSJ_GONGLLX:
insert into sym_trigger
(source_schema_name, source_table_name, target_schema_name, target_table_name, source_node_group_id, target_node_group_id, channel_id, sync_on_insert, sync_on_update, sync_on_delete, excluded_column_names, initial_load_order, last_updated_by, last_updated_time, create_time)
values('USR_DUANX', 'B_JCSJ_GONGLLX', 'USR_GONGA', 'B_JCSJ_GONGLLX', 'store', 'corp', 'channel_one', 1, 1, 1,
'F_VC_JISDJ,F_NB_QIDJD,F_NB_QIDWD,F_NB_ZONGDJD,F_NB_ZONGDWD,F_NB_XINGSLHSXS,F_VC_DISFID,F_VC_YUANXTLXBM,F_VC_QIDXYZB,F_VC_ZHONGDXYZB,F_NB_PAIXU',
125, 'demo', current_timestamp, current_timestamp);
i find out what's wrong.
modify 'USR_DUANX' to 'USR_JICSJ' of source_schema_name at the configration of sym_trigger;
thank you!
We will work on our sym_trigger validation logic ...
org.jumpmind.symmetric.service.impl.BootstrapService ERROR -The configured table does not exist in the datasource that is configured: USR_DUANX.USR_JICSJ.B_JCSJ_GONGLLX
3625 2009-04-28 16:58:02 org.jumpmind.symmetric.service.impl.BootstrapService ERROR -Failed to synchronize trigger for USR_DUANX.B_ZDJC_SHANGBB
org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL
insert into sym_trigger_hist
(trigger_id,source_table_name,table_hash,create_time,column_names,pk_column_names,last_trigger_build_reason,name_for_delete_trigger,name_for_insert_trigger,name_for_update_trigger,source_schema_name,source_catalog_name,trigger_row_hash)
values(?,?,?,?,?,?,?,?,?,?,?,?,?)
; ORA-01400: can not insert into NULL("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
; nested exception is java.sql.SQLException: ORA-01400: can not insert into NULL ("USR_DUANX"."SYM_TRIGGER_HIST"."COLUMN_NAMES")
table B_JCSJ_GONGLLX and B_JCSJ_GONGLLD belong to user USR_JCSJ.
table B_ZDJC_SHANGBB belong to user USR_SHUJCJ.
user USR_DUANX has select privilege on USR_JCSJ.B_JCSJ_GONGLLX,USR_JCSJ.B_JCSJ_GONGLLD,USR_SHUJCJ.B_ZDJC_SHANGBB.
Insufficient privileges? or anything else?
The error indicates that no column names are being found. You didn't happen to enter all the columns in 'excluded_column_names', did you? How many more columns are in the table?