我正在尝试使用SSDT来部署一个报告,该报告将允许输入2个参数,我可以将其用于日志文件的开头和结尾。我的参数在Report Data下的Parameters下拉列表中声明为DateTime。数据集的参数也包含在其属性中。这是我的SQL语句和错误。
[Declare] @StartTime DateTime
[Declare] @EndTime Datetime
SELECT RecordID, AnalysisID, HeatName, NewHeatName, AnalysisTime, SampleType, Grade, NewGrade, ProductID, RecordChangeTime, ChangesMade, LoggedUser
FROM Chemistry_Log
WHERE (RecordChangeTime >= @ StartTime) AND (RecordChangeTime <= @ EndTime)
解析SQL窗格的内容时遇到以下错误:
无法解析查询文本。
我不确定从何处开始,因为这不是错误消息的信息......
答案 0 :(得分:0)
无法解析查询文本
您的查询应该使用提供的信息。唯一缺失的部分是您的variables声明。在这种情况下,我没有看到:
Declare @StartTime DateTime
Declare @EndTime Datetime
这将声明变量准备存储DateTime
。至于如何将值分配给变量,这取决于您将如何处理查询。
您没有提供足够的信息以便我了解更多详情。
答案 1 :(得分:0)
您的查询看起来是正确的。我不认为问题存在。报告中是否定义了参数?也就是说,它们是否出现在报告项的参数部分?它们是否也在数据集的属性中定义?通常这些应该自动获取任何未声明的参数,但我已经看到自动创建不起作用的时间。
我在报告定义中看到参数,确保将它们设置为DateTime参数。此外,运行示例查询时不要将它们留空:提供有效的日期值。即使单击“确定”,也会出现询问参数值的提示。只需填写任何有效日期:SSRS有时需要此操作一次运行查询并确定查询将返回的列。