Mysql ORA-01400:无法将NULL插入(“存储库名称”“MD_项目”“ID”)

Mysql ORA-01400:无法将NULL插入(“存储库名称”“MD_项目”“ID”),mysql,oracle,oracle-sqldeveloper,database-migration,oracle12c,Mysql,Oracle,Oracle Sqldeveloper,Database Migration,Oracle12c,我们正在使用SQL Developer 4.0.3.16将MySQL数据库迁移到Oracle 12c数据库 创建存储库后,出现错误,无法创建存储库,因为它仍然存在,请先删除它。。并没有存储库,所以我们只是再试一次,结果成功了,存储库被创建了 现在我们连接到了源数据库MySQL、目标数据库Oracle(见图),我们还与迁移用户migrepo建立了另一个连接,连接到了目标数据库 现在我们一次又一次地出现以下错误..: 中文:ORA-01400:无法在MIGREPO.MD_PROJECTS.ID中插入

我们正在使用SQL Developer 4.0.3.16将MySQL数据库迁移到Oracle 12c数据库

创建存储库后,出现错误,无法创建存储库,因为它仍然存在,请先删除它。。并没有存储库,所以我们只是再试一次,结果成功了,存储库被创建了

现在我们连接到了源数据库MySQL、目标数据库Oracle(见图),我们还与迁移用户migrepo建立了另一个连接,连接到了目标数据库

现在我们一次又一次地出现以下错误..:

中文:ORA-01400:无法在MIGREPO.MD_PROJECTS.ID中插入NULL


有人能帮我们吗?

您的表MIGREPO.MD\u PROJECTS上有一个名为ID的列,它是主键或具有NOTNULL约束,或者两者都有。正在运行的代码中有东西试图将NULL放入此ID列,这是约束不允许的


祝你好运。

问题解决了,我正试图将其迁移为sysdba。创建新用户并迁移,没有错误

最好尝试将Oracle列更改为NOTNULL,并且在转换时,为假设表exist选择APPEND选项。它将解决问题。

您是在移动数据还是架构结构和数据?架构结构和数据如果该列是主键,或者即使它只是有一个NOTNULL约束,您也无法在其中插入NULL。看看表的约束,您可能必须删除一个或多个约束才能完成您试图完成的任务。另一种可能是,您试图插入的不是显式的NULL值,而是空字符串。Oracle认为空字符串与NULL相同。另一方面,MySQL确实支持空字符串,不同于空字符串。我没有尝试插入任何内容,只是尝试迁移数据库。。如果我删除主键“id”上的约束,只会产生更多错误。谢谢,有人使用表MD_PROJECTS吗?这是迁移存储库中的标准表..我在SQL Developer版本18.4.0.376中遇到了相同的错误。请详细说明解决方案好吗?