我们有一个最终用户使用 MS-Access 数据库,该数据库通过链接表和 ODBC DSN 连接到 Visual Fox Pro .dbf 文件目录。在 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 - 1999 年 12 月 7 日
此驱动程序已通过注册表项强行安装到 Windows 7 中(因为它不受支持)。我已经知道我必须在 64 位计算机上使用 C:\Windows\SysWOW64\odbcad32.exe 安装驱动程序。只要未安装 SEP,该驱动程序就可以正常工作。
MS-Access:
在 2007 和 Office 365 之间,有多个版本的 MS-Access 都出现了该问题,因此我相信该问题与 ODBC 和 SEP 有关...而且,当您卸载 SEP 时,您会得到一个可以正常工作的数据库;但是,禁用 SEP 中的防火墙并不能解决问题。
机器:
出现此问题的大部分机器是联想 ThinkCentere M73,但并非此类机器独有,我们也有一些使用戴尔 OptiPlexes 的用户遇到同样的问题(但我认为这与此无关)。
我们已经与 SEP 支持人员进行了沟通,他们首先想到的是,这是 SEP 管理防火墙的问题;我们创建了一个组来放置机器,这样我们就可以在 SEP 界面内关闭防火墙,让我们可以选择关闭 15 分钟或更长时间。但这并没有解决问题。
我还运行了 ODBC 跟踪并尝试从最终用户 Microsoft Access 数据库访问一些 Visual Fox Pro 链接表;并且它生成了一个日志文件。
以下是 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
明显的赛门铁克错误,在我们安装更新时已被修复。