【发布时间】:2018-06-19 10:12:44
【问题描述】:
我有一个简单的查询(包括在下面)。它在带有两个参数的循环中使用。它在一台服务器上用作魅力,但是当我将它与另一台服务器一起使用时,它会失败并显示“无法从 SQL 命令中提取参数”。
DECLARE @Tagnavn As varchar(250)
DECLARE @HentEnergiNiveauEfter As datetime2(7)
set @Tagnavn = ?
set @HentEnergiNiveauEfter = ?
EXEC [FDTV_PUMP_AVERAGE_CONSUMPTION_FROM_DATE] @Tagnavn ,@HentEnergiNiveauEfter
我已经看到将查询放在变量中的解决方法,但这对我不起作用。而且我真的不明白为什么上述内容适用于一台服务器而不是另一台服务器:-)
工作设置包括:
-Microsoft SQL Server Data Tools for Visual Studio 2017,v15.3.3
-存储过程在 SQL Server v11 上
非工作设置包括:
-Visual Studio Community 2017 - Tools for Applications 2017, v15.7.3
-存储过程在 SQL Server v10 上
谢谢!
苍白
【问题讨论】:
-
出于兴趣,为什么要在 SQL 中声明变量然后使用它们?为什么不简单地
EXEC [FDTV_PUMP_AVERAGE_CONSUMPTION_FROM_DATE] ?, ?;? -
我什至不知道
?在这里做什么? -
那个?表示变量是在包中设置的。那你设置你的变量了吗? (您将查询粘贴到数据流任务中,右键单击“参数”)
-
Larnu,我尝试不使用中间变量,但它没有获取参数。 @ppijnenburg:是的,做到了。工作服务器上的代码和不工作的服务器上的代码完全相同。前段时间我遇到了类似的问题,我只是将代码重写为其他内容,但类似。
-
两台服务器有什么区别?
标签: sql-server parameters ssis