sql-server-2008 – 查询在SSRS 2008或BIDS 2008中不起作用,但在
环境
数据库服务器(DWH prod& dev SSRS prod) >赢得XP SP3 开发盒 >赢得XP SP3 共享数据源(由.rdl使用) >使用服务器的机器名称,没有别名 问题 BIDS在查看报告的“预览”选项卡时返回的错误在大约1分钟后出现(SSMS中的查询需要大约1分钟10秒 – 编辑:2012-10-16现在已经在SSRS中复制了错误通过将报告部署到Report Manager并尝试运行报告:下面添加了异常堆栈跟踪):
>已针对prod和dev db服务器测试了具有db_datareader权限的最终用户帐户的查询,并且在SSMS中正常运行. 查询结构(为简洁起见,为此而列出) SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SET NOCOUNT ON SET ANSI_WARNINGS OFF /********************************************************** CTE to be used to clean strings ***********************************************************/ ;WITH CTE_1 AS ( SELECT SomeData ),CTE_2 AS ( SELECT SomeData ),Recursive_CTE AS ( SELECT SomeData ) -- String cleaning performed here,CTE_3 AS ( SELECT SomeData ) /************************** Data set returned here ***************************/ SELECT Column_1,Column_2,Column_3 . . .,Column_n FROM Fact INNER JOIN Dimension_1 AS 1 ON Fact.Key_1 = 1.Key_1 INNER JOIN Dimension_2 AS 2 ON Fact.Key_2 = 2.Key_2 INNER JOIN Dimension_3 AS 3 ON Fact.Key_4 = 3.Key_3 INNER JOIN Dimension_5 AS 4 ON Fact.Key_4 = 4.Key_4 LEFT JOIN CTE_3 AS clean ON 4.Key_4 = clean.Key_4 -- Clean names returned in query and used in GROUP BY clause WHERE Condition_1 = Test_1 AND Condition_2 = Test_2 AND Condition_3 = Test_3 . . . AND Condition_n = Test_n GROUP BY Group_1,Group_2,Group_3 . . .,Group_n ORDER BY Group_1,Group_n 备注(不确定是否有任何帮助): >递归CTE只执行24次递归. 问题(S) >从哪里开始诊断问题究竟是什么? 到目前为止我做了什么…… 2012年10月15日 >谷歌机器上的猎人无济于事. 2012年10月16日 ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'DataSet1'.,; Info: Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Query execution failed for dataset 'DataSet1'. ---> System.Data.SqlClient.SqlException: A transport-level error has occurred when receiving results from the server. (provider: TCP Provider,error: 0 - The specified network name is no longer available.) at System.Data.SqlClient.SqlConnection.OnError(SqlException exception,Boolean breakConnection) at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadSniError(TdsParserStateObject stateObj,UInt32 error) at System.Data.SqlClient.TdsParserStateObject.ReadSni(DbAsyncResult asyncResult,TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket() at System.Data.SqlClient.TdsParserStateObject.ReadBuffer() at System.Data.SqlClient.TdsParserStateObject.ReadByte() at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior,SqlCommand cmdHandler,SqlDataReader dataStream,BulkCopySimpleResultSet bulkCopyHandler,TdsParserStateObject stateObj) at System.Data.SqlClient.SqlDataReader.ConsumeMetaData() at System.Data.SqlClient.SqlDataReader.get_MetaData() at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds,RunBehavior runBehavior,String resetOptionsString) at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior,Boolean returnStream,Boolean async) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method,DbAsyncResult result) at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior,String method) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior,String method) at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior) at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) at Microsoft.ReportingServices.DataExtensions.SqlCommandWrapperExtension.ExecuteReader(CommandBehavior behavior) at Microsoft.ReportingServices.OnDemandProcessing.RuntimeDataSet.RunDataSetQuery() --- End of inner exception stack trace --- >上述异常在同一数据集的日志中多次出现 – >可能的原因可能是CTE中的递归? 解决方法首先,您必须找到问题所在.您可以查看运行Profiler打开报表时发生的情况吗?使用事件启动跟踪审核登录,审核注销,异常,SQL:Stmt:正在启动/已完成.在您尝试打开报告后,请检查结果并告知我们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |