У меня есть приложение, которое использует внешний интерфейс MS Access 2003 для подключения к базе данных MS SQL и Sybase.Это приложение использует VBA (Visual Basic 6), и это нельзя изменить.Мы находимся в процессе преобразования Windows XP (где приложение работает нормально) в Windows 7.
В Windows 7 попытки подключиться к базе данных Sybase не удаются.Приложение использует сквозной запрос, и когда происходит сбой, я получаю следующее сообщение:
An unexpected error occurred in Call_SP.
Error number: 48
Error description: Error in loading DLL
Error source: Secure open security
Конкретная строка кода, в которой выдается ошибка:
For Each qryDef In dbLocal.QueryDefs
Элементы в этой строке кода определены следующим образом:
Dim dbLocal As Database
Dim qryDef As QueryDef
Set dbLocal = CurrentDb()
При первоначальном запуске приложения отсутствовала ссылка на библиотеку объектов Microsoft DAO 3.6.Я скопировал файл dao360.dll в C: \ Program Files (x86) \ Common Files \ Microsoft Shared \ DAO, зарегистрировал его с помощью regsvr32.exe и установил ссылку (Инструменты -> Ссылки) на этот файл.
На данный момент, я подозреваю, что проблема может быть связана с правами пользователя на этом компьютере, но я застрял с чего начать.Пользователи имеют права на чтение и выполнение файла dao360.dll.
У нас много унаследованных приложений, написанных на Access, поэтому наши системы используют Access 2003, но Word, Excel и Outlook 2010. Мы переходим на 64-разрядную версию Windows 7.