无法插入Null或更新为Null

2020-08-20 05:02发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在将数据从Hive迁移到SAP HANA进行分析,当我们执行要进行数据迁移的工作时,我们会不断收到此错误,我们正在使用Java编写的包装器项目在SAP HANA中创建insert和create语句 ,我确定我们需要更改包装器项目中进行插入和更新的语句,我想这是因为它考虑到配置单元表中的null值是字符串而不是实际的NULL,但这只是一个猜测而已 当然可以,还有其他人遇到过同样的问题吗?如果可以,有人可以帮助我解决问题吗? 请查看以下错误日志。

com.sap.db.jdbc.exceptions.JDBCDriverException:SAP DBTech JDBC:[287]:无法插入NULL或更新为NULL:TrexUpdate在表XYZ上失败,错误:约束NOT NULL违反; checkIntColumn(): 在pos 0上找到NULL;列'SYS_CHANGE_VERSION',表'XYZ',com.sap.db.jdbc.exceptions.rc = 56处com.sap.db.jdbc.exceptions处的SQLExceptionSapDB.createException(SQLExceptionSapDB.java:357) com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:110)处的com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:953)处的.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:197) )com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:727)com.sap.db.jdbc.StatementSapDB.sendCommand(StatementSapDB.java:958)com.sap.db.jdbc.StatementSapDB处)。 com.sap.db.jdbc.StatementSapDB.execute(StatementSapDB.java:372)处的com.sap.db.jdbc.StatementSapDB.execute(StatementSapDB.java:344)处的sendSQL(StatementSapDB.java:1007) .db.jdbc.trace.Statement.execut 在moveit的e(Statement.java:138)在moveit.Hana.executeStatement(Hana.java:558)在moveit.Hana.moveData(Hana.java:388)在moveit.Hana.moveDataToTarget(Hana.java:340)。 在moveit.TableLoader.call(TableLoader.java:273)处的TableLoader.generateHiveToHanaStreamsetsPipeline(TableLoader.java:1551)在java.util.concurrent.FutureTask.run(FutureTask.java)处的moveit.TableLoader.call(TableLoader.java:37)处 :266)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)在java.lang.Thread.run(Thread。 java:745)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我们正在将数据从Hive迁移到SAP HANA进行分析,当我们执行要进行数据迁移的工作时,我们会不断收到此错误,我们正在使用Java编写的包装器项目在SAP HANA中创建insert和create语句 ,我确定我们需要更改包装器项目中进行插入和更新的语句,我想这是因为它考虑到配置单元表中的null值是字符串而不是实际的NULL,但这只是一个猜测而已 当然可以,还有其他人遇到过同样的问题吗?如果可以,有人可以帮助我解决问题吗? 请查看以下错误日志。

com.sap.db.jdbc.exceptions.JDBCDriverException:SAP DBTech JDBC:[287]:无法插入NULL或更新为NULL:TrexUpdate在表XYZ上失败,错误:约束NOT NULL违反; checkIntColumn(): 在pos 0上找到NULL;列'SYS_CHANGE_VERSION',表'XYZ',com.sap.db.jdbc.exceptions.rc = 56处com.sap.db.jdbc.exceptions处的SQLExceptionSapDB.createException(SQLExceptionSapDB.java:357) com.sap.db.jdbc.packet.ReplyPacket.buildExceptionChain(ReplyPacket.java:110)处的com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:953)处的.SQLExceptionSapDB.generateDatabaseException(SQLExceptionSapDB.java:197) )com.sap.db.jdbc.ConnectionSapDB.execute(ConnectionSapDB.java:727)com.sap.db.jdbc.StatementSapDB.sendCommand(StatementSapDB.java:958)com.sap.db.jdbc.StatementSapDB处)。 com.sap.db.jdbc.StatementSapDB.execute(StatementSapDB.java:372)处的com.sap.db.jdbc.StatementSapDB.execute(StatementSapDB.java:344)处的sendSQL(StatementSapDB.java:1007) .db.jdbc.trace.Statement.execut 在moveit的e(Statement.java:138)在moveit.Hana.executeStatement(Hana.java:558)在moveit.Hana.moveData(Hana.java:388)在moveit.Hana.moveDataToTarget(Hana.java:340)。 在moveit.TableLoader.call(TableLoader.java:273)处的TableLoader.generateHiveToHanaStreamsetsPipeline(TableLoader.java:1551)在java.util.concurrent.FutureTask.run(FutureTask.java)处的moveit.TableLoader.call(TableLoader.java:37)处 :266)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)在java.lang.Thread.run(Thread。 java:745)

付费偷看设置
发送
1条回答
吹牛啤
1楼-- · 2020-08-20 05:48

是否有任何更新?

一周热门 更多>