通过openquery将日期参数作为字符串传递给oracle时的格式

时间:2015-04-20 19:00:44

标签: oracle parameters provider openquery

我正在将存储过程从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,孤立查询以及无法连接到数据源。当我回滚时,问题就消退了。我想知道这是巧合还是相关,所以我想知道上面的日期逻辑是否存在问题。

抱歉,这很模糊,但我无法查明报表服务器问题,这是唯一的新因素。我试图消除它作为原因。

0 个答案:

没有答案