我正在将存储过程从SQL Server 2005移动到SS2008R2。我正在使用带有日期参数的Openquery。 2008链接服务器配置了Oracle Provider for OLE DB。
相关代码如下所示:
DECLARE @beginDate DATETIME
DECLARE @beginDateStr VARCHAR(11)
DECLARE @sqlStr VARCHAR(MAX)
SET @beginDate = GETDATE()
SET @beginDateStr = CONVERT(VARCHAR(10), @beginDate, 20)
--Pass through query string (partial)
SET @sqlStr = '[date_field] >= ''''' + @beginDateStr + ''''' '
相关字符串解析为:
[date_field] >= ''15 Apr 2015''
当我在SSMS或VS / BIDS中执行时,以及在报表.rdl中部署到Report Server时,查询返回正确的结果。此报告有许多订阅。
我们遇到日常报表服务器问题:阻止,等待时间增加,包括preemptive_oledbops,孤立查询以及无法连接到数据源。当我回滚时,问题就消退了。我想知道这是巧合还是相关,所以我想知道上面的日期逻辑是否存在问题。
抱歉,这很模糊,但我无法查明报表服务器问题,这是唯一的新因素。我试图消除它作为原因。