MS Access не будет подключаться к связанному Visual Fox Pro после обновления Symantec Endpoint

553
leeand00

У нас есть конечный пользователь, использующий базу данных 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 и более минут. Это не решило проблему.

An image of the Disable Firewall menu in Symantec Endpoint

Я также запустил трассировку ODBC и попытался получить доступ к некоторым связанным таблицам Visual Fox Pro из базы данных Microsoft Access конечного пользователя; и это привело к файлу журнала.

An image of ODBC window with the trace tab selected

Вот результаты трассировки от 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 

Есть ли причина, по которой это не сработает на нескольких машинах, но не на всех?

0
По предположению ... `C: \ Windows \ system32 \ vfpodbc.dll` должна быть 64-битной библиотекой. Если это действительно 32-битная DLL, вы должны поместить ее в `C: \ Windows \ syswow64 \ vfpodbc.dll` и управлять ею (оптимально используя только системные DSN, а не пользовательские DSN) с помощью` C: \ Windows \ syswow64 \ odbcad32 .exe`. Что касается того, почему что-то работает на некоторых машинах, а не на других, я могу только догадываться, что есть различия, которые вы не отметили здесь. TallTed 8 лет назад 0
@TallTed Спасибо за ответ на мой вопрос, но это оказалось проблемой с Symantec. У нас были все эти настройки, как вы заявили. Техническая поддержка Symantec каким-то образом устранила проблему, но я не думаю, что они даже знают о том, что произошло, поскольку они не могли сказать мне, что это было. Когда было загружено следующее обновление, оно по какой-то причине снова начало работать на этих машинах. Очевидно, проблема заключалась в их программном обеспечении `.cloud`, поскольку при его удалении драйвер снова работал. leeand00 8 лет назад 0
Пожалуйста, рассмотрите возможность удаления этого вопроса или его редактирования, чтобы отразить только те компоненты, которые действительно были задействованы ... и в последнем случае добавьте ответ, который в основном гласит: «Кажущаяся ошибка Symantec была исправлена ​​путем обновления этих компонентов». TallTed 8 лет назад 0

1 ответ на вопрос

0
leeand00

Очевидная ошибка Symantec, исправленная при установке обновлений.