CLRストアドプロシージャの作成には、以下のコードを使用しています。アセンブリを作成している間。以下の問題が表示されます。私のターゲットフレームワークは4.0です。 SQLサーバーは2008r2です
SQLコード:
create Assembly SampleSearch from 'E:\CLR Files\Sample\ElasticSearch.dll'
エラーメッセージ:
アセンブリがサポートされていないバージョンの共通言語ランタイム用に構築されているため、アセンブリのCREATE Assembly'ElasticSearch 'が失敗しました。
Microsoft SQL Serverは、混合モードCLRを許可していません。つまり、CLRの特定のバージョンに静的にリンクされています(これは、ほとんどの人が混乱している.NET Frameworkと同じものではありません)。 SQL Server 2005、2008、および2008 R2は、.NET Frameworkバージョン2.0、3.0、および3.5を処理するCLRバージョン2.0にリンクされ、SQL Server 2012および2014は、.NET Frameworkバージョン4.0、4.5を処理するCLRバージョン4.0にリンクされます。 x、4.6.xなど。
次のいずれかを実行できます。
UNSAFE
として実行するには、TRUSTWORTHY
のデータベースオプションをON
に設定する必要があります(これは、OFF
として残すのが最適です。可能な限り)。SQL Server(つまり、SQLCLR)内の.NETニュアンスのトピックに関する詳細については、シリーズ全体ではないにしても、SQL ServerCentralで書いた次の記事を参照してください。
SQLCLRレベル5への階段:開発(SQL Server内で.NETを使用) (そのサイトでは無料登録が必要です)
ターゲットフレームワークを2.0に設定してから、再試行してください。
悪いニュースは それはできません。 SQL2008はV2.0をサポートします