大家好,這可能是在黑暗中拍攝的,但我正在尋找幫助來整理駐留在報告數據定義或Sequel服務器報告服務(SSRS)報告表。當我們有多條線時,錯誤會阻止打印特定的表單(自定義裝箱單)。 只需注意,報告表格是使用Microsoft Report Builder設計的,並從Epicor獲取具有關聯「報告數據定義」的數據。 定製裝箱單的顧問不再可及,並且沒有他的筆記,我試圖找出ou [輸入圖像說明] [1] t從原始數據定義或報告表格中更改了哪些可能導致此問題的原因錯誤。Epicor 10(ERP)SSRS報告錯誤:最多返回1024列
好了,現在的問題:
在試圖打印多行項目裝箱單,我們得到這個錯誤:
計劃Ice.Services.Lib.RunTask提出了一個意外的異常帶以下消息:
RunTask:因爲列 'OTSCity' 鑑於 'RptLabels_8B03042B0E8248588E5DECCC9D76BB89' 超過最大1024列的CREATE VIEW失敗。
的一些信息,我我的狩獵和啄期間收集:
OTSCITY是在OrderHED表(訂單表頭)的字段。 OrderHed表是數據定義中的(25)個報表中的一個,但它看起來不像任何其他表,並且「OTSCITY」字段在原始表和列中都被排除(標籤和列)自定義報告
不確定'RptLabels'引用了什麼,但後面的長數字是表GUID。每次打印報告時,都會爲該特定實例分配一個唯一的GUID。我在猜測打印報告時從數據定義中提取數據,並使用GUID分配數據快照。所以本質上它是指當我點擊打印按鈕時創建的包裝單實例中的報告標籤(RptLabels)。這只是我的猜測。
我非常確定報表可以限制多少列可以顯示,它被設置爲1024,所以當我們嘗試使用多個填充滑動窗體時,可能某些數據表返回太多列訂單項。
如果您是可以讀取這些內容的Epicor/SSRS/SQL嚮導,我將在本文底部留下堆棧跟蹤的其餘部分。報告數據定義的圖片也在那裏。
Stack Trace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action 1 wrapCloseInAction)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
at System.Data.SqlClient.SqlCommand.RunExecuteNonQueryTds(String methodName, Boolean async, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(TaskCompletionSource`1 completion, String methodName, Boolean sendToPipe, Int32 timeout, Boolean asyncWrite)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at Ice.Core.RptBase.RptLabelsSqlTableBuilder.BuildView(SqlObjectsCreated sqlObjectsCreated) in c:\_Releases\ICE\3.1.400.0\source\Server\Internal\Lib\TaskLib\RptBase\RptLabelsSqlTableBuilder.cs:line 100
at Ice.Core.RptBase.ReportDatabaseBuilder 1.BuildSchemaAndWriteData(Func 2 executeCommand, SqlObjectsCreated sqlObjectsCreated) in c:\_Releases\ICE\3.1.400.0\source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 165
at Ice.Core.RptBase.ReportDatabaseBuilder`1.GenerateSqlObjectsAndProcessReport(SqlConnection connection) in c:\_Releases\ICE\3.1.400.0\source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 191
at Ice.Core.RptBase.ReportDatabaseBuilder`1.XMLClose() in c:\_Releases\ICE\3.1.400.0\source\Server\Internal\Lib\TaskLib\RptBase\ReportDatabaseBuilder.cs:line 132
at Ice.Core.RptTaskBase`1.XMLClose() in c:\_Releases\ICE\3.1.400.0\source\Server\Internal\Lib\TaskLib\RptBase\RptTaskBase.cs:line 134
at Erp.Internal.SR.PackingSlipPrint.RunProcess(Int64 Instance_TaskNum, String OutputFile) in c:\_Releases\ERP\RL10.1.400.0\Source\Server\Internal\SR\PackingSlipPrint\PackingSlipPrint.cs:line 919
at Ice.Hosting.TaskCaller.InnerExecuteTask(IceDataContext newContext) in c:\_Releases\ICE\3.1.400.7\source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 78
at Ice.Hosting.TaskCaller.ExecuteTask(Boolean suppressTransaction) in c:\_Releases\ICE\3.1.400.7\source\Framework\Epicor.Ice\Hosting\TaskCaller\TaskCaller.cs:line 31
at Ice.Lib.RunTask.BpmFriendlyTaskLauncher.Run(String sessionIdPrefix, IceContext db, Action taskRunner) in c:\_Releases\ICE\3.1.400.7\source\Server\Services\Lib\RunTask\BpmFriendlyTaskLauncher.cs:line 63
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:\_Releases\ICE\3.1.400.7\source\Server\Services\Lib\RunTask\RunTask.cs:line 477
at Ice.Services.Lib.RunTaskSvc.InnerRunTask(Int64 ipTaskNum, Boolean suppressTransaction) in c:\_Releases\ICE\3.1.400.7\source\Server\Services\Lib\RunTask\RunTask.cs:line 477
at Ice.Services.Lib.RunTaskSvcFacade.RunTask(Int64 ipTaskNum) in c:\_Releases\ICE\3.1.400.7\source\Server\Services\Lib\RunTask\RunTaskSvcFacade.cs:line 97
at SyncInvokeRunTask(Object , Object[] , Object[])
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at Epicor.Hosting.OperationBoundInvoker.InnerInvoke(Object instance, Func`2 func) in c:\_Releases\ICE\3.1.400.7\source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 59
at Epicor.Hosting.OperationBoundInvoker.Invoke(Object instance, Func`2 func) in c:\_Releases\ICE\3.1.400.7\source\Framework\Epicor.System\Hosting\OperationBoundInvoker.cs:line 28
at Epicor.Hosting.Wcf.EpiOperationInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs) in c:\_Releases\ICE\3.1.400.7\source\Framework\Epicor.System\Hosting\Wcf\EpiOperationInvoker.cs:line 23
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage11(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)
at System.ServiceModel.Dispatcher.ChannelHandler.DispatchAndReleasePump(RequestContext request, Boolean cleanThread, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.HandleRequest(RequestContext request, OperationContext currentOperationContext)
at System.ServiceModel.Dispatcher.ChannelHandler.AsyncMessagePump(IAsyncResult result)
at System.ServiceModel.Dispatcher.ChannelHandler.OnAsyncReceiveComplete(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SecurityChannelListener`1.ReceiveItemAndVerifySecurityAsyncResult`2.InnerTryReceiveCompletedCallback(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.TransportDuplexSessionChannel.TryReceiveAsyncResult.OnReceive(IAsyncResult result)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.SynchronizedMessageSource.ReceiveAsyncResult.OnReceiveComplete(Object state)
at System.ServiceModel.Channels.SessionConnectionReader.OnAsyncReadComplete(Object state)
at System.Runtime.Fx.AsyncThunk.UnhandledExceptionFrame(IAsyncResult result)
at System.Net.LazyAsyncResult.Complete(IntPtr userToken)
at System.Net.LazyAsyncResult.ProtectedInvokeCallback(Object result, IntPtr userToken)
at System.Net.Security.NegotiateStream.ProcessFrameBody(Int32 readBytes, Byte[] buffer, Int32 offset, Int32 count, AsyncProtocolRequest asyncRequest)
at System.Net.Security.NegotiateStream.ReadCallback(AsyncProtocolRequest asyncRequest)
at System.Net.AsyncProtocolRequest.CompleteRequest(Int32 result)
at System.Net.FixedSizeReader.CheckCompletionBeforeNextRead(Int32 bytes)
at System.Net.FixedSizeReader.ReadCallback(IAsyncResult transportResult)
at System.Runtime.AsyncResult.Complete(Boolean completedSynchronously)
at System.ServiceModel.Channels.ConnectionStream.IOAsyncResult.OnAsyncIOComplete(Object state)
at System.Net.Sockets.SocketAsyncEventArgs.OnCompleted(SocketAsyncEventArgs e)
at System.Net.Sockets.SocketAsyncEventArgs.FinishOperationSuccess(SocketError socketError, Int32 bytesTransferred, SocketFlags flags)
at System.Net.Sockets.SocketAsyncEventArgs.CompletionPortCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* nativeOverlapped)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP)
[RDD OrderHed表排除] [1]
聽起來像這個報告是使用「稀疏列」。 –