У меня есть шаблон Word (.dot), открытый в Word 2016, который ссылается на VB6 dll.Когда я запускаю код VBA со своей учетной записью обычного пользователя, я получаю сообщение об ошибке.Когда я запускаю его под своей учетной записью администратора, я не получаю сообщение об ошибке.Ошибка возникает при вызове объекта «Load ()», на который ссылаются объекты:
Dim m_Manager As New PrefixService.Manager
Call m_Manager.Load(subjectID, ClientID)
Точная ошибка:
Ошибка времени выполнения '-2147467259 (80004005)':[Microsoft] [ODBC Driver Manager] Не найдено имя источника данных и не указан драйвер по умолчанию
Я провел некоторые исследования, но нахожусь на незнакомой территории.Я продолжаю читать вещи о реестре и ODBC.В реестре есть запись для PrefixService.Manager, и пользователи имеют доступ к ней для чтения.Что касается администратора источников данных ODBC, я не уверен, что искать, но в результатах поиска часто упоминаются строки подключения и Microsoft Access, хотя я не уверен, что они имеют отношение ко мне, ссылающейся на dll и выполняющему код из нее.Microsoft Access 2016 установлен.Я запустил команду Windows Sysinternals ListDlls в процессе WINWORD и увидел, что dll никогда не загружалась, однако под моей учетной записью Admin я вижу, что dll загружается.В ODBC Data Source Administrator я выполнил трассировку, но, к сожалению, я не говорю на ODBC и мне трудно это понять. Я считаю, что следующий раздел содержит информацию о проблеме:
o "u" 1260-ca4 ENTER SQLDriverConnectW
HDBC 0x0BA01850
HWND 0x00000000
WCHAR * 0x5A768B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x5A768B34
SWORD -3
SWORD * 0x00000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
o "u" 1260-ca4 EXIT SQLDriverConnectW with return code -1 (SQL_ERROR)
HDBC 0x0BA01850
HWND 0x00000000
WCHAR * 0x5A768B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x5A768B34
SWORD -3
SWORD * 0x00000000
UWORD 0 <SQL_DRIVER_NOPROMPT>
DIAG [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0)
o "u" 1260-ca4 ENTER SQLGetDiagRecW
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x0BA01850
SQLSMALLINT 1
SQLWCHAR * 0x0036E93C
SQLINTEGER * 0x0036E514
SQLWCHAR * 0x0036E53C
SQLSMALLINT 512
SQLSMALLINT * 0x0036E524
o "u" 1260-ca4 EXIT SQLGetDiagRecW with return code 0 (SQL_SUCCESS)
SQLSMALLINT 2 <SQL_HANDLE_DBC>
SQLHANDLE 0x0BA01850
SQLSMALLINT 1
SQLWCHAR * 0x0036E93C [ 5] "IM002"
SQLINTEGER * 0x0036E514 (0)
SQLWCHAR * 0x0036E53C [ 91] "[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified"
SQLSMALLINT 512
SQLSMALLINT * 0x0036E524 (91)
Я сейчас нахожусьв убыток, отличный от разрешения.Ох и ОС Windows 7 Enterprise