【发布时间】:2013-08-05 09:49:50
【问题描述】:
我正在使用数据库链接将表数据从 SQL Server 传输到 Oracle。虽然我的连接和一些传输运行顺利,但其中一些给我以下错误:
SQL Error: ORA-00997: illegal use of LONG datatype
我的查询是这样的:
insert into FCPEERANALYSISPROPS select * from FCPEERANALYSISPROPS@mssql;
当我试图查看失败的列时(分别对表的每一列运行查询),我发现问题是针对在 SQL Server 中定义为 nvarchar(4000) 的一列提出的,而在 oracle 中是定义为:VARCHAR2(4000 CHAR)。
您能就这个问题提出建议吗?
【问题讨论】:
-
docs.oracle.com/cd/E10405_01/doc/appdev.120/e10379/… 在这里您可以找到Oracle 和SQL Server 之间的数据类型映射表。它说
NVARCHAR(n)应该映射到VARCHAR(n*2) -
@NenadZivkovic 你的意思是我必须声明一个
VARCHAR2(8000)?
标签: sql sql-server oracle types long-integer