34 MB のファイルを Excel 2007-2013 XLSX OpenXML 表示拡張機能にエクスポートする SQL Server 2012 SP1 Reporting Services インスタンスでサブスクリプションをセットアップしました。サブスクリプションは次のエラーをスローします。
System.IO.IsolatedStorage.IsolatedStorageException: ドメインの ID を特定できません。
Report Manager から Excel 2007-2013 XLSX OpenXML 表示拡張機能にレポートを問題なくエクスポートできることを確認しました。このエラーは、サブスクリプションを介してレポートが実行された場合にのみ発生します。私はこれを調査し、ウェブで次の推奨事項を見つけました。
2 つの別個の Microsoft Connect バグ レポート764356および764556には、回避策が記載されていません。
一度に 1 つのみが実行されるようにサブスクリプションをずらすことをお勧めします。エラー発生時にサブスクリプションが 1 つしか実行されていないため、これは役に立ちません。
Excel 2003 のレンダリング方法を使用し、行を別々のタブに分割して 65,536 行の制限を回避することをお勧めします。私はこれが機能することを確認しましたが、これはビジネス関係者の観点からは受け入れられるソリューションではありませんでした。
サイズが 10 MB を超える Excel 2007-2013 レンダリング メソッドを使用するレポートを示すコメントは、メモリ内での生成から分離ストレージの使用に切り替わります。なぜこれが悪いのか説明はありませんが、これは正当な理由で行われたと思います - おそらくRAMの消費を制限するためです。
ASP.NET アプリケーションの分離ストレージ フォルダー内のユーザーのアクセス許可を昇格するための提案。Reporting Services の分離ストレージ フォルダーの場所が見つかりませんでした。
ASP.NET の分離ストレージのコードを、この問題を回避する追加のコードでラップすることを提案します。これは Microsoft から出荷された製品であるため、このソリューションを Reporting Services に適用する方法が見つかりませんでした。
Report Manager および Report Server の web.config ファイルを変更して、httpRuntime ノードに maxRequestLength="200000" を含めることをお勧めします。これは結果を変えませんでした。
RSReportServer.config でメモリ設定を明示的に増やす提案。エラーは分離ストレージに関連しているため、これは役に立たないように見えましたが、絶望的に試してみました。これは結果を変えませんでした。
DatabaseQueryTimeout 値を 120 からより大きな値に変更することをお勧めします。これは結果を変えませんでした。
サブスクリプション実行タイムアウト値を変更する提案。これは結果を変えませんでした。
以下は、完全なエラー ログ エントリのコピーです。
reportrendering!WindowsService_5!1628!04/03/2013-09:48:33:: e ERROR: Throwing Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: , Microsoft.ReportingServices.ReportProcessing.UnhandledReportRenderingException: An error occurred during rendering of the report. ---> Microsoft.ReportingServices.OnDemandReportRendering.ReportRenderingException: An error occurred during rendering of the report. ---> System.IO.IsolatedStorage.IsolatedStorageException: Unable to determine the identity of domain.
at System.IO.IsolatedStorage.IsolatedStorage._GetAccountingInfo(Evidence evidence, Type evidenceType, IsolatedStorageScope fAssmDomApp, Object& oNormalized)
at System.IO.IsolatedStorage.IsolatedStorage.GetAccountingInfo(Evidence evidence, Type evidenceType, IsolatedStorageScope fAssmDomApp, String& typeName, String& instanceName)
at System.IO.IsolatedStorage.IsolatedStorage._InitStore(IsolatedStorageScope scope, Evidence domainEv, Type domainEvidenceType, Evidence assemEv, Type assemblyEvidenceType, Evidence appEv, Type appEvidenceType)
at System.IO.IsolatedStorage.IsolatedStorage.InitStore(IsolatedStorageScope scope, Type domainEvidenceType, Type assemblyEvidenceType)
at System.IO.IsolatedStorage.IsolatedStorageFile.GetStore(IsolatedStorageScope scope, Type domainEvidenceType, Type assemblyEvidenceType)
at MS.Internal.IO.Packaging.PackagingUtilities.ReliableIsolatedStorageFileFolder..ctor()
at MS.Internal.IO.Packaging.PackagingUtilities.GetDefaultIsolatedStorageFile()
at MS.Internal.IO.Packaging.PackagingUtilities.CreateUserScopedIsolatedStorageFileStreamWithRandomName(Int32 retryCount, String& fileName)
at MS.Internal.IO.Packaging.SparseMemoryStream.EnsureIsolatedStoreStream()
at MS.Internal.IO.Packaging.SparseMemoryStream.SwitchModeIfNecessary()
at MS.Internal.IO.Zip.ZipIOFileItemStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at System.IO.Compression.DeflateStream.InternalWrite(Byte[] array, Int32 offset, Int32 count, Boolean isAsync)
at System.IO.Compression.DeflateStream.Write(Byte[] array, Int32 offset, Int32 count)
at MS.Internal.IO.Packaging.CompressStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at MS.Internal.IO.Zip.ProgressiveCrcCalculatingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at MS.Internal.IO.Zip.ZipIOModeEnforcingStream.Write(Byte[] buffer, Int32 offset, Int32 count)
at Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.XMLModel.XMLStreamsheetModel.WriteStreamToStream(Stream from, Stream to)
at Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.XMLModel.XMLStreamsheetModel.Cleanup()
at Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.OpenXmlGenerator.FinalizeWorksheet()
at Microsoft.ReportingServices.Rendering.ExcelOpenXmlRenderer.OpenXmlGenerator.NextWorksheet()
at Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer.Render(Report report, NameValueCollection reportServerParameters, NameValueCollection deviceInfo, NameValueCollection