以下是场景:
我希望使用数据库链接将数据从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)
这些变量具有要插入的值。
我已确保在指定列的循环中没有生成空值。
你能告诉我为什么会产生这个错误吗?