java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE")

Apereo Issues | Dan McCallum | 1 decade ago
  1. 0

    Several distinct problems: 1) Special characters in BIN table names can cause JdbcTypeMaskFilter to fail. For example: [java] BIN$15JrwlLPS1WHc/SebhTB/g==$0 [java] Error running dbLoader [java] org.springframework.dao.DataIntegrityViolationException: Loading table-column type mapping.; SQL []; ORA-01424: missing or illegal character following the escape character [java] ; nested exception is java.sql.SQLException: ORA-01424: missing or illegal character following the escape character [java] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) [java] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579) [java] at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894) [java] at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:1199) [java] at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2512) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2840) [java] at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608) [java] at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536) [java] at oracle.jdbc.OracleDatabaseMetaData.getColumns(OracleDatabaseMetaData.java:2571) [java] at org.jasig.portal.tools.dbloader.filters.JdbcTypeMaskFilter.<init>(JdbcTypeMaskFilter.java:60) [java] at org.jasig.portal.tools.dbloader.DbLoader.process(DbLoader.java:300) [java] at org.jasig.portal.tools.dbloader.DbLoaderRunner.main(DbLoaderRunner.java:32) 2) Not strictly a DbLoader issue, but GaP is violating its PK index on GAP_GROUP_MEMBER when it tries to insert an empty string into the MEMBER_SERVICE column. Actually, Ora translates the empty string to a null, thereby violating the constraint. Trace: [java] Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE") [java] at org.jasig.gap.db.DbUtils.jdbcExecuteStatement(DbUtils.java:98) [java] at org.jasig.gap.db.AbstractJdbcDao.primExecute(AbstractJdbcDao.java:74) [java] at org.jasig.gap.db.AbstractJdbcDao.insertValues(AbstractJdbcDao.java:58) [java] at org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:138) [java] at org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:121) [java] at org.jasig.gap.db.DbInit.main(DbInit.java:64) [java] Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE") [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) [java] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579) [java] at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894) [java] at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094) [java] at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132) [java] at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877) [java] at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:858) [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225) [java] at org.jasig.gap.db.DbUtils.jdbcExecuteStatement(DbUtils.java:89) [java] ... 5 more 3) JdbcTypeMaskFilter constructor leaks ResultSets 4) Clob columns will not work reliably in Ora without special handling. For example: [java] UP_PORT_APPL_DEF_DISP_NM [java] Error executing SQL [INSERT INTO UP_PORT_APPL_DEF_DISP_NM (PORT_APPL_DEF_ID, KEY_LOCALE, LOCALE, DISP_NAME_TEXT) VALUES (?, ?, ?, ?)] with values [1, EN_US, EN_US, Test Web Applications] of type [12, 12, 12, 1111] [java] org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO UP_PORT_APPL_DEF_DISP_NM (PORT_APPL_DEF_ID, KEY_LOCALE, LOCALE, DISP_NAME_TEXT) VALUES (?, ?, ?, ?)]; SQL state [null]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type [java] java.sql.SQLException: Invalid column type [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) [java] at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:3088) [java] at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:3107) [java] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:162) [java] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:191) [java] at org.springframework.jdbc.core.JdbcTemplate$ArgTypePreparedStatementSetter.setValues(JdbcTemplate.java:1209) [java] at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:697) [java] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:477) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:693) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:752) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:756) [java] at org.jasig.portal.tools.dbloader.utils.DbUtils.executePreparedStatement(DbUtils.java:121) [java] at org.jasig.portal.tools.dbloader.handlers.DataHandler.endElement(DataHandler.java:126) [java] at org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:261) [java] at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:160) [java] at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) [java] at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281) [java] at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262) [java] at org.jasig.portal.tools.dbloader.DbLoader.process(DbLoader.java:325) [java] at org.jasig.portal.tools.dbloader.DbLoaderRunner.main(DbLoaderRunner.java:32)

    Apereo Issues | 1 decade ago | Dan McCallum
    java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE")
  2. 0

    Several distinct problems: 1) Special characters in BIN table names can cause JdbcTypeMaskFilter to fail. For example: [java] BIN$15JrwlLPS1WHc/SebhTB/g==$0 [java] Error running dbLoader [java] org.springframework.dao.DataIntegrityViolationException: Loading table-column type mapping.; SQL []; ORA-01424: missing or illegal character following the escape character [java] ; nested exception is java.sql.SQLException: ORA-01424: missing or illegal character following the escape character [java] java.sql.SQLException: ORA-01424: missing or illegal character following the escape character [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) [java] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579) [java] at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894) [java] at oracle.jdbc.ttc7.TTC7Protocol.fetch(TTC7Protocol.java:1199) [java] at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2512) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2840) [java] at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608) [java] at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536) [java] at oracle.jdbc.OracleDatabaseMetaData.getColumns(OracleDatabaseMetaData.java:2571) [java] at org.jasig.portal.tools.dbloader.filters.JdbcTypeMaskFilter.<init>(JdbcTypeMaskFilter.java:60) [java] at org.jasig.portal.tools.dbloader.DbLoader.process(DbLoader.java:300) [java] at org.jasig.portal.tools.dbloader.DbLoaderRunner.main(DbLoaderRunner.java:32) 2) Not strictly a DbLoader issue, but GaP is violating its PK index on GAP_GROUP_MEMBER when it tries to insert an empty string into the MEMBER_SERVICE column. Actually, Ora translates the empty string to a null, thereby violating the constraint. Trace: [java] Exception in thread "main" java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE") [java] at org.jasig.gap.db.DbUtils.jdbcExecuteStatement(DbUtils.java:98) [java] at org.jasig.gap.db.AbstractJdbcDao.primExecute(AbstractJdbcDao.java:74) [java] at org.jasig.gap.db.AbstractJdbcDao.insertValues(AbstractJdbcDao.java:58) [java] at org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:138) [java] at org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:121) [java] at org.jasig.gap.db.DbInit.main(DbInit.java:64) [java] Caused by: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE") [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289) [java] at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579) [java] at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894) [java] at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094) [java] at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132) [java] at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015) [java] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877) [java] at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:858) [java] at org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225) [java] at org.jasig.gap.db.DbUtils.jdbcExecuteStatement(DbUtils.java:89) [java] ... 5 more 3) JdbcTypeMaskFilter constructor leaks ResultSets 4) Clob columns will not work reliably in Ora without special handling. For example: [java] UP_PORT_APPL_DEF_DISP_NM [java] Error executing SQL [INSERT INTO UP_PORT_APPL_DEF_DISP_NM (PORT_APPL_DEF_ID, KEY_LOCALE, LOCALE, DISP_NAME_TEXT) VALUES (?, ?, ?, ?)] with values [1, EN_US, EN_US, Test Web Applications] of type [12, 12, 12, 1111] [java] org.springframework.jdbc.UncategorizedSQLException: PreparedStatementCallback; uncategorized SQLException for SQL [INSERT INTO UP_PORT_APPL_DEF_DISP_NM (PORT_APPL_DEF_ID, KEY_LOCALE, LOCALE, DISP_NAME_TEXT) VALUES (?, ?, ?, ?)]; SQL state [null]; error code [17004]; Invalid column type; nested exception is java.sql.SQLException: Invalid column type [java] java.sql.SQLException: Invalid column type [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) [java] at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:269) [java] at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:3088) [java] at oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:3107) [java] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:162) [java] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:191) [java] at org.springframework.jdbc.core.JdbcTemplate$ArgTypePreparedStatementSetter.setValues(JdbcTemplate.java:1209) [java] at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:697) [java] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:477) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:693) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:752) [java] at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:756) [java] at org.jasig.portal.tools.dbloader.utils.DbUtils.executePreparedStatement(DbUtils.java:121) [java] at org.jasig.portal.tools.dbloader.handlers.DataHandler.endElement(DataHandler.java:126) [java] at org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:261) [java] at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.templates.ElemIf.execute(ElemIf.java:160) [java] at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(ElemApplyTemplates.java:393) [java] at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTemplates.java:176) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374) [java] at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411) [java] at org.apache.xalan.transformer.TransformerImpl.applyTemplateToNode(TransformerImpl.java:2281) [java] at org.apache.xalan.transformer.TransformerImpl.transformNode(TransformerImpl.java:1367) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:709) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1284) [java] at org.apache.xalan.transformer.TransformerImpl.transform(TransformerImpl.java:1262) [java] at org.jasig.portal.tools.dbloader.DbLoader.process(DbLoader.java:325) [java] at org.jasig.portal.tools.dbloader.DbLoaderRunner.main(DbLoaderRunner.java:32)

    Apereo Issues | 1 decade ago | Dan McCallum
    java.lang.RuntimeException: java.sql.SQLException: ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE")
  3. 0

    RC3 insert error

    Oracle Community | 1 decade ago | 3004
    java.sql.SQLException: ORA-00936: missing expression
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Oracle sequence created twice. ORA-00955: name is already used by an existing object

    Stack Overflow | 2 years ago
    java.sql.SQLException: ORA-00955: name is already used by an existing object
  6. 0

    Oracle 8. Serializable transactions

    Google Groups | 2 decades ago | Vlad Dutov
    java.sql.SQLException: ORA-08177: can't serialize access for this transaction

    26 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.sql.SQLException

      ORA-01400: cannot insert NULL into ("UNI"."GAP_GROUP_MEMBER"."MEMBER_SERVICE")

      at oracle.jdbc.dbaccess.DBError.throwSqlException()
    2. oracle.jdbc.dbaccess
      DBError.throwSqlException
      1. oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
      1 frame
    3. oracle.jdbc.ttc7
      TTC7Protocol.parseExecuteFetch
      1. oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
      2. oracle.jdbc.ttc7.Oall7.receive(Oall7.java:579)
      3. oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1894)
      4. oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1094)
      4 frames
    4. Oracle jdbc
      OracleStatement.executeUpdate
      1. oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2132)
      2. oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2015)
      3. oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2877)
      4. oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:858)
      4 frames
    5. Commons DBCP
      DelegatingStatement.executeUpdate
      1. org.apache.commons.dbcp.DelegatingStatement.executeUpdate(DelegatingStatement.java:225)
      1 frame
    6. org.jasig.gap
      DbInit.main
      1. org.jasig.gap.db.DbUtils.jdbcExecuteStatement(DbUtils.java:89)
      2. org.jasig.gap.db.AbstractJdbcDao.primExecute(AbstractJdbcDao.java:74)
      3. org.jasig.gap.db.AbstractJdbcDao.insertValues(AbstractJdbcDao.java:58)
      4. org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:138)
      5. org.jasig.gap.db.DbInit.initBackingStore(DbInit.java:121)
      6. org.jasig.gap.db.DbInit.main(DbInit.java:64)
      6 frames