おはよう。現在、Visual Basic (VS 2008) で作成されたアセンブリを呼び出す CLR ストアド プロシージャで問題が発生しています。最上位レベルでは、アセンブリは Cognos8 に含まれるレポートを実行し、出力をネットワーク上の特定のディレクトリに移動します。単純なテスト EXE からメソッドを呼び出すときは問題ありませんが、CLR ストアド プロシージャを介して実行しようとすると、次のようになります。
メッセージ 6522、レベル 16、状態 1、プロシージャ ReportRunner、行 0
ユーザー定義ルーチンまたは集約 "ReportRunner" の実行中に .NET Framework エラーが発生しました:
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'cognosdotnetassembly_2_0, Version=10.1.4707.501, Culture=neutral, PublicKeyToken=d6e6d7d808b7e5b7' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。System.IO.FileNotFoundException:
System.Reflection.Assembly._nLoad (AssemblyName fileName、文字列 codeBase、証拠 assemblySecurity、Assembly locationHint、StackCrawlMark& stackMark、ブール型 throwOnFileNotFound、Boolean forIntrospection) で
System.Reflection.Assembly.nLoad (AssemblyName fileName、文字列 codeBase、証拠 assemblySecurity、Assembly locationHint、StackCrawlMark& stackMark、ブール型 throwOnFileNotFound、Boolean forIntrospection) で
System.Reflection.Assembly.InternalLoad (AssemblyName assemblyRef、証拠 assemblySecurity、StackCrawlMark & stackMark、Boolean forIntrospection) で
System.Reflection.Assembly.LoadWithPartialNameInternal (文字列の partialName、証拠 securityEvidence、StackCrawlMark & stackMark) で
System.Reflection.Assembly.LoadWithPartialName (文字列の partialName、証拠 securityEvidence) で
System.Xml.Serialization.TempAssembly.LoadGeneratedAssembly (型の型、文字列の defaultNamespace、XmlSerializerImplementation & 契約) で
System.Xml.Serialization.XmlSerializer.FromMappings (XmlMapping[] マッピング、型の種類) で System.Web.Services.Protocols.SoapClientType..ctor (型の種類) で
System.Web.Services.Protocols.SoapHttpClientProtocol..ctor() で cognosdotnet_2_0.reportService1..ctor() で
ReportRunnerv3.ReportRunner.ExecuteReport (Int32 inPLAN_ID、Int32 inContract_Sfx、文字列 inRptDate_DT、文字列 inPlanType、文字列 inInvstmentOnlyInd、文字列 inMOMInd、文字列 inGPSIInd、文字列 inPBTInd、文字列 inPICAInd、文字列 inClientAccomInd、文字列 inInstSelectInd、文字列 inRptType、Int32& outRC) で
注 •cognosdotnetassembly_2_0 は、"ReportRunner" アセンブリと同じディレクトリにあります。
以下は、fuslogvw.exe によって提供されるメッセージです。
* アセンブリ バインダー ログ エントリ (2011 年 8 月 11 日 @ 5:57:39 AM) *
操作に失敗しました。
バインド結果: hr = 0x80070002。システムは、指定されたファイルを見つけることができません。
アセンブリ マネージャーの読み込み元: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
実行可能ファイルの下で実行 c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\Binn\sqlservr.exe
--- 詳細なエラー ログが続きます。
=== プレバインド状態情報 ===
ログ: ユーザー = NT AUTHORITY\NETWORK SERVICE
ログ: DisplayName = cognosdotnetassembly_2_0、バージョン = 10.1.4707.501、カルチャ = ニュートラル、PublicKeyToken = d6e6d7d808b7e5b7 (完全指定)
ログ: Appbase = file:///c:/Program Files/Microsoft SQL Server/MSSQL10_50.SQLEXPRESS/MSSQL/Binn/
ログ: 初期 PrivatePath = NULL
ログ: 動的ベース = NULL
ログ: キャッシュ ベース = NULL
ログ: AppName = NULL
アセンブリの呼び出し: System.Xml、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b77a5c561934e089。
===
ログ: このバインドはデフォルトのロード コンテキストで開始されます。ログ: アプリケーション構成ファイルが見つかりません。
ログ: c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config のマシン構成ファイルを使用しています。
ログ: ポリシー後の参照: cognosdotnetassembly_2_0、バージョン = 10.1.4707.501、カルチャ = ニュートラル、PublicKeyToken = d6e6d7d808b7e5b7
LOG: Fusion がホストされています。このアセンブリについてホストを確認してください。
ログ: アセンブリが CLR ロード リストにありません。ホスト組立店に聞く。
ログ: アセンブリ cognosdotnetassembly_2_0、version=10.1.4707.501、culture=neutral、publickeytoken=d6e6d7d808b7e5b7、processorarchitecture=x86 でホスト アセンブリ ストアを試してください。
ログ: アセンブリ cognosdotnetassembly_2_0、version=10.1.4707.501、culture=neutral、publickeytoken=d6e6d7d808b7e5b7、processorarchitecture=msil でホスト アセンブリ ストアを試してください。
ログ: アセンブリ cognosdotnetassembly_2_0、バージョン = 10.1.4707.501、カルチャ = ニュートラル、publickeytoken = d6e6d7d808b7e5b7 でホスト アセンブリ ストアを試してください。
WRN: ホスト アセンブリ ストアにこのアセンブリが含まれていません。
ERR: 事前ダウンロードチェック中に回復不可能なエラーが発生しました (hr = 0x80070002)。
SQL Server が cognosdotnetassembly_2_0 を見つけられない理由について誰か洞察を提供できますか?
さらに詳しい情報が必要な場合は、お知らせください。
ご協力ありがとうございます。
――クリス