将MS SQL Server数据传输到Oracle表

时间:2013-08-05 09:49:50

标签: sql sql-server oracle types long-integer

我使用数据库链接将表数据从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)

你能就这个问题提出建议吗?

1 个答案:

答案 0 :(得分:0)

来自this

您可以看到VARCHAR2bytes,而nvarchar是针对unicode(2个字节或更多),因此您需要

  • 使用NVARCHAR2而不是VARCHAR2
  • 在Oracle中复制表结构
  • 然后运行insert into ... select ... from