it-swarm-pt.tech

Erro 10314 FileLoadException / Msg ao executar o procedimento armazenado CLR

Recebendo o seguinte erro ao tentar executar um proc armazenado CLR. Qualquer ajuda é muito apreciada.

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)
35
homeskillet

Executei os comandos SQL abaixo e o problema parece estar resolvido.

USE database_name
GO

EXEC sp_changedbowner 'sa'
ALTER DATABASE database_name SET TRUSTWORTHY ON 
69
homeskillet

Crie seu projeto com QUALQUER configuração de CPU. Eu tive esse problema quando compilei meu próprio projeto com a configuração x86 e tentei executá-lo no servidor x64 SQL.

8
nuwanda

Aplicou todas as sugestões acima e falhou. Então recompilei meu código-fonte com a opção "Qualquer CPU" e funcionou!

Este link ajudou: O SQL Server falhou ao carregar o Assembly com PERMISSION

2
101V
ALTER AUTHORIZATION ON DATABASE::mydb TO sa;
ALTER DATABASE [myDB] SET TRUSTWORTHY ON
GO
0
Musakkhir Sayyed

O seu Assembly faz E/S de arquivo? Nesse caso, você deve conceder permissão à Assembléia para fazer isso. No SSMS:

  1. Expandir "Bancos de dados"
  2. Expanda o nó para seu banco de dados
  3. Expandir "Programabilidade"
  4. Expanda "Montagens"
  5. Clique com o botão direito do mouse em sua montagem, escolha Propriedades
  6. Na página "Geral", altere "Conjunto de permissões" para "Acesso externo"
0
Craig Stuntz