У нас есть конечный пользователь, использующий базу данных MS-Access, которая подключается к каталогу Visual Fox Pro файлов .dbf через связанные таблицы и ODBC DSN. Это работало нормально, пока Symantec Endpoint Protection не установил пару обновлений, и теперь, когда выбранный набор компьютеров пытается подключиться к нему, мы получаем ошибку ODBC.
Мы знаем это, потому что удаление Symantec Endpoint Protection заставляет базу данных снова работать.
У нас есть следующие спецификации:
сентябрь:
- Управляемый Symantec Endpoint Protection, управляемый из Symantec Endpoint Protection Small Business Edition.
Symantec.cloud - облачный агент 2.03.70.2614
Symantec.cloud - Защита конечных точек - NIS-21.5.0.19
32-битный драйвер ODBC:
Драйвер Microsoft Visual FoxPro - 6.01.8629.01 - VFPODBC.DLL - 07.12.1999
Этот драйвер был включен в Windows 7 (поскольку он не поддерживается) с ключами реестра. Я уже знаю, что мне нужно установить драйвер с помощью C:\Windows\SysWOW64\odbcad32.exe на 64-битных компьютерах. Драйвер уже работает, пока SEP не установлен.
MS-Access:
Существует несколько версий MS-Access, в которых возникает проблема, между 2007 и Office 365, так что это заставляет меня думать, что это связано с ODBC и SEP ... а также с тем фактом, что при удалении SEP вы в конечном итоге с работающей базой данных; отключение брандмауэра в SEP, однако, не решает проблему.
Машины:
Большинство машин с этой проблемой - Lenovo ThinkCentere M73, но это не только машина такого типа, у нас также есть пользователи с Dell OptiPlexes с той же проблемой (хотя я не думаю, что это актуально).
Мы уже говорили о поддержке SEP, и первое, о чем они подумали, это проблема с SEP, управляющим брандмауэром; мы создали группу для установки машины, что позволило нам отключить брандмауэр в интерфейсе SEP, что дает нам возможность делать это на 15 и более минут. Это не решило проблему.
Я также запустил трассировку ODBC и попытался получить доступ к некоторым связанным таблицам Visual Fox Pro из базы данных Microsoft Access конечного пользователя; и это привело к файлу журнала.
Вот результаты трассировки от ODBC:
Secured.mdw 8d0-bcc ENTER SQLAllocEnv
HENV * 0x002521A4
Secured.mdw 8d0-bcc EXIT SQLAllocEnv with return code 0 (SQL_SUCCESS)
HENV * 0x002521A4 ( 0x03907130)
Secured.mdw 8d0-bcc ENTER SQLAllocConnect
HENV 0x03907130
HDBC * 0x002520D0
Secured.mdw 8d0-bcc EXIT SQLAllocConnect with return code 0 (SQL_SUCCESS)
HENV 0x03907130
HDBC * 0x002520D0 ( 0x03955AE8)
Secured.mdw 8d0-bcc ENTER SQLSetConnectOptionW
HDBC 0x03955AE8
SQLINTEGER 103 <SQL_LOGIN_TIMEOUT>
SQLPOINTER 20
Secured.mdw 8d0-bcc EXIT SQLSetConnectOptionW with return code 0 (SQL_SUCCESS)
HDBC 0x03955AE8
SQLINTEGER 103 <SQL_LOGIN_TIMEOUT>
SQLPOINTER 20
Secured.mdw 8d0-bcc ENTER SQLSetConnectAttrW
SQLHDBC 0x03955AE8
SQLINTEGER 30002 <unknown>
SQLPOINTER [Unknown attribute 30002]
SQLINTEGER -3
Secured.mdw 8d0-bcc EXIT SQLSetConnectAttrW with return code 0 (SQL_SUCCESS)
SQLHDBC 0x03955AE8
SQLINTEGER 30002 <unknown>
SQLPOINTER [Unknown attribute 30002]
SQLINTEGER -3
Secured.mdw 8d0-bcc ENTER SQLDriverConnectW
HDBC 0x03955AE8
HWND 0x0004031C
WCHAR * 0x6D768B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x6D768B34
SWORD -3
SWORD * 0x00000000
UWORD 3 <SQL_DRIVER_COMPLETE_REQUIRED>
Secured.mdw 8d0-bcc EXIT SQLDriverConnectW with return code -1 (SQL_ERROR)
HDBC 0x03955AE8
HWND 0x0004031C
WCHAR * 0x6D768B34 [ -3] "******\ 0"
SWORD -3
WCHAR * 0x6D768B34
SWORD -3
SWORD * 0x00000000
UWORD 3 <SQL_DRIVER_COMPLETE_REQUIRED>
DIAG [IM003] Specified driver could not be loaded due to system error 0: The operation completed successfully. (Microsoft Visual FoxPro Driver, C:\Windows\system32\vfpodbc.dll). (160)
Secured.mdw 8d0-bcc ENTER SQLErrorW
HENV 0x03907130
HDBC 0x03955AE8
HSTMT 0x00000000
WCHAR * 0x0025206C
SDWORD * 0x00252034
WCHAR * 0x05F5A788
SWORD 4095
SWORD * 0x00252028
Secured.mdw 8d0-bcc EXIT SQLErrorW with return code 0 (SQL_SUCCESS)
HENV 0x03907130
HDBC 0x03955AE8
HSTMT 0x00000000
WCHAR * 0x0025206C [ 5] "IM003"
SDWORD * 0x00252034 (160)
WCHAR * 0x05F5A788 [ 165] "Specified driver could not be loaded due to system error 0: The operation completed successfully. (Microsoft Visual FoxPro Driver, C:\Windows\system32\vfpodbc.dll)."
SWORD 4095
SWORD * 0x00252028 (165)
Secured.mdw 8d0-bcc ENTER SQLErrorW
HENV 0x03907130
HDBC 0x03955AE8
HSTMT 0x00000000
WCHAR * 0x0025206C
SDWORD * 0x00252034
WCHAR * 0x05F5A8E8
SWORD 3919
SWORD * 0x00252028
Secured.mdw 8d0-bcc EXIT SQLErrorW with return code 100 (SQL_NO_DATA_FOUND)
HENV 0x03907130
HDBC 0x03955AE8
HSTMT 0x00000000
WCHAR * 0x0025206C
SDWORD * 0x00252034
WCHAR * 0x05F5A8E8
SWORD 3919
SWORD * 0x00252028
Secured.mdw 8d0-bcc ENTER SQLFreeConnect
HDBC 0x03955AE8
Secured.mdw 8d0-bcc EXIT SQLFreeConnect with return code 0 (SQL_SUCCESS)
HDBC 0x03955AE8
Secured.mdw 8d0-bcc ENTER SQLFreeEnv
HENV 0x03907130
Secured.mdw 8d0-bcc EXIT SQLFreeEnv with return code 0 (SQL_SUCCESS)
HENV 0x03907130
Есть ли причина, по которой это не сработает на нескольких машинах, но не на всех?