0

We have an end user used MS-Access database which connects to a Visual Fox Pro directory of .dbf files via linked tables and an ODBC DSN. This worked fine until Symantec Endpoint Protection installed a couple of updates, and now when a select set of machines attempt to connect to it we receive an ODBC failed error.

We know this because uninstalling Symantec Endpoint Protection causes the database to work again.

We have the following specs:

SEP:

  • Managed Symantec Endpoint Protection, managed from Symantec Endpoint Protection Small Business Edition.
  • Symantec.cloud - Cloud Agent 2.03.70.2614

  • Symantec.cloud - Endpoint Protection - NIS-21.5.0.19

32-Bit ODBC Driver:

  • Microsoft Visual FoxPro Driver - 6.01.8629.01 - VFPODBC.DLL - 12/7/1999

  • This driver has been shoehorned into Windows 7 (since it's unsupported) with registry keys. I am already aware that I have to install the driver using C:\Windows\SysWOW64\odbcad32.exe, on 64-bit machines. The driver already works as long as SEP is not installed.

MS-Access:

There are several versions of MS-Access on which the problem is occurring, between 2007 and Office 365, so this leads me to believe it has to do with ODBC and SEP...and also the fact that when you uninstall SEP you end up with a working database; disabling the firewall in SEP however doesn't resolve the issue.

Machines:

Most of the machines with this issue are Lenovo ThinkCentere M73, but it is not exclusive to this type of machine, we also have some users with Dell OptiPlexes with the same issue (not that I think this is relevant).

We've already talked to SEP support, and the first thing they thought of was that it's an issue with SEP managing the firewall; we made a group to put the machine in, which allowed us to turn the firewall off inside the SEP interface, giving us the option to do so for 15 minutes or more. This did not resolve the issue.

An image of the Disable Firewall menu in Symantec Endpoint

I also ran an ODBC trace and attempted to access some of the Visual Fox Pro linked tables from the end user Microsoft Access database; and it resulted in a log file.

An image of ODBC window with the trace tab selected

Here are the results of the trace from 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

Is there any reason why this wouldn't work on a couple of machines, but not all of them?

leeand00
  • 23,552

1 Answers1

0

Apparent Symantec bug, was fixed when we installed updates.

leeand00
  • 23,552