2008-09-16 10 views
33

Nhận lỗi sau khi cố gắng chạy một CLR được lưu trữ proc. Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.FileLoadException/Msg 10314 Lỗi khi chạy thủ tục lưu trữ 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) 

Trả lời

0

Cụm của bạn có làm tệp I/O không? Nếu vậy, bạn phải cấp quyền lắp ráp để thực hiện việc này. Trong SSMS:

  1. Mở rộng "Cơ sở dữ liệu"
  2. Mở rộng nút cho cơ sở dữ liệu của bạn
  3. Mở rộng "Khả năng lập trình"
  4. Mở rộng "Assemblies"
  5. Kích chuột phải vào lắp ráp của bạn, chọn Properties
  6. Trên trang "Chung", thay đổi "Bộ quyền" thành "Truy cập bên ngoài"
67

Chạy Các lệnh SQL bên dưới và vấn đề dường như được giải quyết.

USE database_name 
GO 

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

bạn có nghĩa SỬ DỤNG database_name –

+2

Các sp_changedbowner cố định nó! Chi tiết khác về http://support.microsoft.com/kb/918040 –

+2

@ JuniorMayhé Tôi đã sửa nó! –

8

Tạo dự án của bạn với bất kỳ cấu hình CPU nào. Tôi đã có vấn đề này khi biên dịch dự án của riêng tôi với cấu hình x86 và cố gắng chạy nó trên máy chủ x64 SQL.

2

Áp dụng tất cả các đề xuất ở trên và không thành công. Sau đó, tôi biên dịch lại mã nguồn của mình bằng tùy chọn "Mọi CPU", và nó đã hoạt động!

Liên kết này giúp: SQL Server failed to load assembly with PERMISSION

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