存储过程的执行在SSIS Vs中给出了不同的结果。 SSMS

时间:2018-07-31 08:01:17

标签: stored-procedures ssis ssms sql-server-profiler

我执行一个存储过程,该过程接受7个参数并返回一个整数代码。当我运行exec语句时,它可以完美运行并给出有效的结果。但是,当我使用SSIS运行相同的程序时,我得到的结果与我期望的完全相反。

我在Profiler上运行了跟踪,并看到正在传递的内容。这些值具有正确的顺序和正确的值。我不确定SSIS执行部分发生了什么。

我也验证了数据类型,它们对我来说看起来不错。我在探查器上注意到的一件事是,甚至整数值列也都作为带有单引号的varchars传递。那有什么区别吗?以下是我从探查器获得的信息

exec sp_executesql N'EXEC [dbo].[ProcName] @P1,@P2,@P3,@P4,@P5,@P6,@P7',N'@P1 varchar(6),@P2 nvarchar(9),@P3 datetime2(0),@P4 varchar(1),@P5 varchar(1),@P6 varchar(4),@P7 nvarchar(5)','743290',N'000000034','2018-07-25 00:00:00','2','2','1002',N'Swift'

谢谢, 房车

1 个答案:

答案 0 :(得分:1)

好的。所以这对我来说是一个错误。在SSMS上运行的查询正在集群的主实例上运行,因为SSIS包指向该集群的只读实例。

我的印象是这两个服务器上的数据相同,但这是我的错误。我开始将SSMS版本指向只读实例,它给出的结果与我期望的完全相同。因此,将其关闭。