2008-09-16 7 views
33

Beim Versuch, eine CLR-gespeicherte Prozedur auszuführen, wird der folgende Fehler angezeigt. Jede Hilfe wird sehr geschätzt.FileLoadException/Msg 10314 Fehler beim Ausführen der CLR Stored Procedure

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) 

Antwort

0

Findet Ihre Assembly Datei-I/O? Wenn dies der Fall ist, müssen Sie der Assembly-Berechtigung dafür gewähren. In SSMS:

  1. erweitern "Datenbanken"
  2. Erweitern Sie den Knoten für die Datenbank
  3. erweitern "Programmierbarkeit"
  4. erweitern "Baugruppen"
  5. Rechtsklick auf die Assembly, wählen Sie Eigenschaften
  6. Ändern Sie auf der Seite "Allgemein" "Berechtigungssatz" auf "Externer Zugriff"
67

Lief den SQL-Befehle unten und das Problem scheint gelöst zu sein.

USE database_name 
GO 

EXEC sp_changedbowner 'sa' 
ALTER DATABASE database_name SET TRUSTWORTHY ON 
+1

Sie verwenden meine database_name –

+2

Die sp_changedbowner es fest! Mehr Details auf http://support.microsoft.com/kb/918040 –

+2

@ JuniorMayhé Ich reparierte es! –

8

Erstellen Sie Ihr Projekt mit jeder CPU-Konfiguration. Ich hatte dieses Problem, als ich mein eigenes Projekt mit x86-Konfiguration kompilierte und versuchte, es auf x64 SQL Server auszuführen.

0
ALTER AUTHORIZATION ON DATABASE::mydb TO sa; 
ALTER DATABASE [myDB] SET TRUSTWORTHY ON 
GO