ORA-00984

Oracle sqlldr: column not allowed here

笑着哭i 提交于 2019-12-11 10:35:56
问题 Can anyone spot the error in this attempted data load? The '\\N' is because this is an import of an OUTFILE dump from mysql, which puts \N for NULL fields. The decode is to catch cases where the field might be an empty string, or might have \N. Using Oracle 10g on Linux. load data infile objects.txt discardfile objects.dsc truncate into table objects fields terminated by x'1F' optionally enclosed by '"' (ID INTEGER EXTERNAL NULLIF (ID='\\N'), TITLE CHAR(128) NULLIF (TITLE='\\N'), PRIORITY

MySQL 项目移植Oracle

自闭症网瘾萝莉.ら 提交于 2019-12-01 08:13:41
最近公司公司项目为支持oralce数据库,我们对项目进行移植,项目中使用 MyBatis需要手工对 MyBatis sql xml文件进行修改,修改过程中遇到不少问题,记录在此方便后续查看。 数据类型错误 ORA-00932 SELECT DISTINCT sg.ID, sg.CODE, sg.NAME, sg.ORGANIZATION_ID, sg.DESCRIPTION, -- to_char(sg.DESCRIPTION), sg.SORT, sg.CREATE_USER, FROM SYS_GROUP sg 原因:DESCRIPTION字段类型为NCLOB,而DISTINCT不支持对 NCLOB类型字段进行操作,使用to_char函数进行转换即可 ora-02290 违反检查约束条件 此条错误出现在执行一条新增SQL语句时,检查半天后未发现有什么异常,该语句在MYSQL也能够正常执行,后来查询资料了解到可以查询视图CONSTRAINT_NAME进行检查。 select * from dba_constraints where CONSTRAINT_NAME like '%89071'; 仔细查询之后发现出现此原因情况是表字段缺少,MYSQL环境下该表某个字段设置有默认值,但移植到ORACLE环境下未对该字段设置默认值,同时SQL语句中也未申明该字段于是出现这种错误。