1

将 MDBTools 与数据库中的大型 Microsoft Access 表一起使用时,我遇到了分段错误。查询小表可以正常工作,但任何大表(有大约 80,000 行的表)都会导致分段错误。

我正在使用带有 MDBTools 和 UnixODBC 的 CentOS 6.5,试图通过 PDO 与 PHP 连接。

当我做一个isql dashboard后跟help largetable我得到一个分段错误。当我这样做时help smalltable,结果会正确显示。我该如何解决这个问题?

4

1 回答 1

2

使用 mdbtools,您将陷入痛苦的世界。它没有被积极开发,有 100 多个关于 sourceforge 的错误报告,我个人对它的体验非常糟糕。你的选择是

  1. 在调试器 (gdb) 下运行 isql,当它崩溃时,键入“bt”(用于回溯),然后查看代码以查看它在哪里失败并修复它。

例如

gdb /usr/local/bin/isql 仪表板现在输入 r(运行)并按回车类型 help largetable 并在崩溃时输入按 bt 并回车

这会告诉你它在哪里摔倒了,我在 mdbtools 的某个地方打赌。现在您需要获取源代码并找出问题所在——您需要知道 C 才能做到这一点。

  1. 获得其他一些读取 mdb 的方法,例如另一个 MS Access ODBC 驱动程序,但我只知道非 Windows 平台的商业驱动程序——这就是我所做的。
于 2014-10-15T09:27:09.357 回答