36

CLR ストアド プロシージャを実行しようとすると、次のエラーが発生します。どんな助けでも大歓迎です。

Msg 10314, Level 16, State 11, Line 1
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65752. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error: 
System.IO.FileLoadException: Could not load file or assembly 'orders, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An error relating to security occurred. (Exception from HRESULT: 0x8013150A)
System.IO.FileLoadException: 
   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)
4

5 に答える 5

69

以下のSQLコマンドを実行すると、問題は解決したようです。

USE database_name
GO

EXEC sp_changedbowner 'sa'
ALTER DATABASE database_name SET TRUSTWORTHY ON 
于 2008-09-16T13:52:55.010 に答える
8

任意の CPU 構成でプロジェクトをビルドします。x86構成で自分のプロジェクトをコンパイルし、x64 SQLサーバーで実行しようとしたときに、この問題が発生しました。

于 2011-08-31T09:00:34.470 に答える
2

上記の提案をすべて適用しましたが、失敗しました。次に、「任意の CPU」オプションを使用してソース コードを再コンパイルしたところ、問題なく動作しました。

このリンクは役に立ちました: SQL ServerはPERMISSIONでアセンブリを読み込めませんでした

于 2012-05-01T10:12:27.277 に答える
0

アセンブリはファイルI/Oを実行しますか?その場合、これを行うにはアセンブリ権限を付与する必要があります。SSMSの場合:

  1. 「データベース」を展開
  2. データベースのノードを展開します
  3. 「プログラマビリティ」を展開
  4. 「アセンブリ」を展開します
  5. アセンブリを右クリックし、[プロパティ]を選択します
  6. 「一般」ページで、「権限セット」を「外部アクセス」に変更します
于 2008-09-16T13:51:56.887 に答える
-1
ALTER AUTHORIZATION ON DATABASE::mydb TO sa;
ALTER DATABASE [myDB] SET TRUSTWORTHY ON
GO
于 2014-09-15T12:31:41.753 に答える