[英]Stored proc in Execute SQL Task not persisting changes to database
我首先检查 pstream 变量类型。 您的存储过程需要一个 INT 并且您正在传递一个数字。 我猜测 parcing 没有按预期工作。 尝试将您的 SSIS 变量 'USER::Pstream' 设为 Int32,将 Sql 任务参数类型设为 LONG
我已经尝试了以下并为我工作。
CREATE TABLE dbo.TestTable(
[BucketName] NVARCHAR(250),
[DBName] NVARCHAR(250),
[Pstream] INT
)
GO
CREATE PROCEDURE dbo.UpdateBucket
@BucketName NVARCHAR(250),
@DbName NVARCHAR(250),
@PStream INT
AS
BEGIN
UPDATE dbo.TestTable
SET BucketName = @BucketName
where DBName = @DbName and Pstream = @PStream
END
GO
INSERT INTO dbo.TestTable VALUES ('A bucket', 'A database', 100)
在任务执行之前添加断点,以便您可以在执行之前检查变量。 一旦您的包在断点处停止,请使用 Watch 窗口查看将在您的存储过程中使用的当前值。 我怀疑您会发现它们与预期不同。 如果您从未使用过 Watch,这应该可以帮助您:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.