【发布时间】:2023-04-04 12:42:01
【问题描述】:
ORA-00997: 非法使用 LONG 数据类型
我在 Oracle 中的两个数据库 Ora1 和 Ora2 之间创建了一个 dblink。
Ora1 中的表 tab1 具有 LONG 数据类型的列,因此在 ora2 中使用以下语法创建表 tab2 时:
create table Ora2.tab2 as select tab1 from Ora1.tab1@dblink_nm;
给出“ORA-00997:非法使用 LONG 数据类型”的错误
所以我尝试将 tab1 转换为 LOB。语法如下:
create table Ora2.tab2 as select TO_LOB(tab1) from Ora1.tab1@dblink_nm;
但我仍然面临同样的问题“ORA-00997:非法使用 LONG 数据类型”。
是否有替代方法来处理数据并创建表?
【问题讨论】:
-
你可以在源模式中创建一个视图,你已经在其中进行了投射到 lob 吗? stackoverflow.com/questions/29116396/…, stackoverflow.com/questions/29853945/…,
-
您的意思是向 TO_LOB 传递表名吗?还是您的 LONG 列的名称与表格相同?
-
真正的问题是:你为什么还在使用
LONG数据类型?这在 15 年前已被弃用。 -
@BobJarvis 请原谅,我的意思是具有表 tab1 的 LONG 数据类型的特定列
标签: sql oracle oracle11g sqldatatypes sqllong