Não foi possível encontrar o arquivo 'SqlAccess.dll'

1

Ao executar

CREATE ASSEMBLY MyAssembly
FROM 'S:\SourceCode\TryUDF\bin\Debug\TryUDF.dll'

um erro é retornado:

Could not find file 'SqlAccess.dll' in directory 'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\'.

O assembly é uma biblioteca de classes criada com o VS2008. O SQL Server é 2005. SqlAcesss.dll existe no local acima e esse diretório Binn está na variável de ambiente PATH para o sistema. Como posso diagnosticar o que está causando esse problema?

    
por Robert Kerr 17.02.2011 / 16:34

3 respostas

0

Resolvido. Como eu havia seguido os procedimentos sugeridos pelo Microsoft Baseline Security Analyzer para proteger o SQL Server, possivelmente de forma incompleta ou incorreta, a conta de serviço do SQL Server não tinha permissões conforme necessário para a pasta em que sqlaccess.dll existe. Imediatamente após conceder permissões (ler, executar, listar), o erro desapareceu.

    
por 20.02.2011 / 05:19
0

Se ele foi criado com o VS2008, verifique se as referências a objetos SQL no projeto estão usando as bibliotecas do SQL 2008. Isso pode ser o seu problema. Talvez seja necessário recompilar sua biblioteca em relação às bibliotecas do SQL 2005.

    
por 17.02.2011 / 16:49
0

Não consigo encontrar o artigo agora, mas tenho certeza de que está relacionado à falta de assinatura da DLL ou à configuração TRUSTWORTHY no SQL Server. O erro diz arquivo não encontrado, mas na verdade significa que não foi capaz de carregá-lo (não é a mesma coisa!).

Eu sugeriria que você fizesse uma nova consulta no stackoverflow.com, caso não consiga classificá-lo.

    
por 18.02.2011 / 00:48