我正在努力从Oracle数据库的视图中获取一组记录,并尝试根据BizTalk中的某个列将它们插入/更新到SQL Server表中。为此,我创建了一个存储过程:
Create PROCEDURE [dbo].[uspInsertorUpdateDepartment]
@dept_name varchar(64),
@jax_dept_id char(32)
AS
BEGIN
SET NOCOUNT ON;
IF (SELECT TOP (1) 1 FROM afm.[jax_dept]
WHERE jax_dept_id = @jax_dept_id) IS NULL
INSERT INTO afm.[jax_dept](dept_name, jax_dept_id)
VALUES (@dept_name,@jax_dept_id)
ELSE
UPDATE afm.[jax_dept]
SET dept_name = @dept_name
WHERE jax_dept_id = @jax_dept_id
END
我使用消费适配器服务创建了存储过程的模式。将它们用于映射和编排。但我无法在映射中使用循环功能块。
我已经删除了循环并部署了应用程序。尝试运行后,它可以正常运行,但只将Oracle视图中的第一条记录插入到SQL Server数据库中,而其他所有记录都被忽略了。如何处理才能将整个Oracle记录集插入/更新到SQL Server数据库中。