Menu

new problem on oracle

Help
2009-04-28
2012-09-15
  • sun xinghua

    sun xinghua - 2009-04-28

    --
    -- 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")

    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
    

    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.

     
    • sun xinghua

      sun xinghua - 2009-04-29

      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:

      F_NB_LUXZDBH       NUMBER(38, 0)       NOT NULL,
      F_VC_LUXBH         VARCHAR2(30)        NOT NULL,
      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_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,
      

      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);

       
    • sun xinghua

      sun xinghua - 2009-04-29

      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:

      F_NB_LUXZDBH       NUMBER(38, 0)       NOT NULL,
      F_VC_LUXBH         VARCHAR2(30)        NOT NULL,
      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_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,
      

      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);

       
    • sun xinghua

      sun xinghua - 2009-04-29

      i find out what's wrong.

      modify 'USR_DUANX' to 'USR_JICSJ' of source_schema_name at the configration of sym_trigger;

      thank you!

       
      • Chris Henson

        Chris Henson - 2009-04-29

        We will work on our sym_trigger validation logic ...

         
    • sun xinghua

      sun xinghua - 2009-04-28

      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")

      at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.translate(SQLErrorCodeSQLExceptionTranslator.java:292)
      
       
    • sun xinghua

      sun xinghua - 2009-04-28

      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?

       
    • Chris Henson

      Chris Henson - 2009-04-28

      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?

       

Log in to post a comment.