1

При беге

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

возвращается ошибка:

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

Сборка представляет собой библиотеку классов, созданную на основе VS2008. SQL Server 2005. SqlAcesss.dll существует в указанном выше расположении, и этот каталог Binn находится в переменной среды PATH для системы. Как я могу диагностировать причину этой проблемы?

3 ответа3

0

Решаемые. Поскольку я следовал процедурам, предложенным Microsoft Baseline Security Analyzer, для защиты SQL Server, возможно, не полностью или неправильно, учетная запись службы SQL Server не имела необходимых разрешений для папки, в которой существует sqlaccess.dll. Сразу после предоставления разрешений (чтение, выполнение, список) ошибка исчезла.

0

Если он был построен с VS2008, проверьте, используют ли ссылки на объекты SQL в проекте библиотеки SQL 2008. Это может быть вашей проблемой. Возможно, вам придется перекомпилировать вашу библиотеку под библиотеки SQL 2005.

0

Я не могу найти статью прямо сейчас, но я уверен, что она связана с тем, что DLL не подписана, или с настройкой TRUSTWORTHY на SQL Server. Ошибка говорит, что файл не найден, но на самом деле это означает, что он не смог загрузить его (не то же самое!).

Я бы посоветовал повторно спросить на stackoverflow.com, если вы не разберетесь.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .