使用DB lInk从Oracle将数据插入Microsoft SQL Server 2012

时间:2016-04-06 16:44:08

标签: sql-server database oracle

以下是场景:

我希望使用数据库链接将数据从oracle数据库插入SQL Server数据库,方法是运行一个循环,其中必须在sql server数据库中插入一行数据。每次循环执行。在oracle中执行insert语句时,会显示以下错误。

  

***** ORA-28500:从ORACLE到非Oracle系统的连接返回了以下消息:[使用ODBC的通用连接] [Microsoft] [ODBC SQL   服务器驱动程序] [SQL Server]无法将值NULL插入列   ' item_description',table' STS.dbo.item&#39 ;;列不允许空值。   INSERT失败。[Microsoft] [ODBC SQL Server驱动程序] [SQL Server]   声明已经终止。 (SQL状态:23000; SQL代码:515)   ORA-02063:来自RMS2STS *****的前两行

列的数据类型" item_description"很长,我试图插入的数据是Varchar2(4000),这应该不是问题,因为我可以使用单个oracle insert语句在sql server中插入一行。

例如:单个插入语句有效:

insert into "item"@rms2sts("item_code","item_description","item_type")
values (100,'test',1);

在oracle过程的循环中插入语句后抛出错误

insert into "item"@rms2sts("item_code","item_description","item_type")
values(item_id,item_desc,type_id)

这些变量具有要插入的值。

我已确保在指定列的循环中没有生成空值。

你能告诉我为什么会产生这个错误吗?

0 个答案:

没有答案