查看文章 |
Solution The Error ORA-00997
2009-09-17 16:22
Causes: 此错误一般由于迁移数据时,使用create as 或者 insert ... select ...发生。Oracle解析错误如下: $oerr ora 997 00997, 00000, "illegal use of LONG datatype" // *Cause: // *Action: 错误很明显,由于有列为long类型,故不支持此种方式。 Solutions: 可使用包dbms_metadata_util.long2varchar来解决。 examples: SQL> create table scott.app_log_his 2 as 3 select * from app_log; select * from app_log * ERROR at line 3: ORA-00997: illegal use of LONG datatype SQL> desc app_log Name Null? Type ----------------------------------------- -------- ---------------------------- SESSIONID NOT NULL NUMBER TIMESTAMP# NOT NULL DATE DBUID VARCHAR2(30) OSUID VARCHAR2(255) OSHST VARCHAR2(128) CLIENTID VARCHAR2(64) EXTID VARCHAR2(4000) OBJSCHEMA VARCHAR2(30) OBJNAME VARCHAR2(128) POLICYNAME VARCHAR2(30) SCN NUMBER SQLTEXT VARCHAR2(4000) LSQLTEXT CLOB SQLBIND VARCHAR2(4000) COMMENTTEXT VARCHAR2(4000) PLHOL LONG SQL> create table scott.app_log_his 2 as 3 select SESSIONID,TIMESTAMP#,DBUID,OSUID,OSHST,CLIENTID,EXTID,OBJSCHEMA,OBJNAME,POLICYNAME, SCN,SQLTEXT,LSQLTEXT,SQLBIND,COMMENTTEXT, dbms_metadata_util.long2varchar(4000,'FGA_LOG','PLHOL',rowid) PLHOL 4 from app_log; Table created. |
最近读者: