0

SQL Server 2012 データベースに展開するストアド プロシージャを作成しました。記述されたストアド プロシージャは、 を含む多数のアセンブリを参照しますNationalInstruments.Common.Native.dll

ストアド プロシージャを公開しようとすると、次のエラーが発生します。

SQL72014: .Net SqlClient データ プロバイダー: メッセージ 6503、レベル 16、状態 12、行 1 アセンブリ 'nationalinstruments.visans、バージョン = 9.0.40.156、カルチャ = ニュートラル、publickeytoken = dc6ad606294fc298。' が SQL カタログに見つかりませんでした。

CREATE ASSEMBLY with PERMISSION_SET=UNSAFEと を使用してアセンブリをデータベースに追加しようとしましたTRUSTWORTHY ONSystem.Messagingこれは、データベースに追加するときに以前はうまくいきました。に対して同じことをするとNationalInstruments.Common.Native.dll、次のエラーが発生します。

メッセージ 6544、レベル 16、状態 1、行 2
アセンブリ 'NationalInstruments.Common.Native' の CREATE ASSEMBLY が失敗しました。アセンブリ 'NationalInstruments.Common.Native' の形式が正しくないか、純粋な .NET アセンブリではないためです。検証不能な PE ヘッダー/ネイティブ スタブ。

SQLCLR がネイティブ (アンマネージ コード) で記述されたアセンブリをサポートしていないことを理解しています。ただし、ストアド プロシージャの機能に不可欠なによって参照され、さらにNationalInstruments.Common.Native.dllによって参照されるため、 が本当に必要です。NationalInstruments.Common.dllNationalInstruments.VisaNS

を使用して回避する方法NationalInstruments.Common.Native.dll、またはマネージ コードの純粋な .NET アセンブリに変換する方法はありますか?

(これが関連しているかどうかはわかりませんが、ストアド プロシージャは、Visual Studio 2012 を使用して、.NET Framework 4.5 を対象とした C# で記述されています。)

4

0 に答える 0