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

Изображение меню «Отключить брандмауэр» в Symantec Endpoint

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

Изображение окна ODBC с выбранной вкладкой трассировки

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

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

1 ответ1

0

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

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