Ошибка сегментации с большими таблицами с использованием MDBTools

Я получаю ошибку сегментации при использовании MDBTools с большими таблицами Microsoft Access в базе данных. Запросы к маленьким таблицам работают нормально, но все большие (таблицы с приблизительно 80 000 строк) вызывают ошибку сегментации.

Я использую CentOS 6.5 с MDBTools и UnixODBC, пытаясь подключиться через PDO с PHP.

Когда я делаю isql dashboard с последующим help largetable Я получаю ошибку сегментации. Когда я делаю help smalltable результаты отображаются правильно. Как я могу решить это?

0

Решение

Вы находитесь в мире боли с mdbtools. Он активно не разрабатывается, есть сотни сообщений об ошибках в sourceforge, и мой личный опыт работы с ним довольно плохой. Ваши варианты

  1. запустите isql под отладчиком (gdb), и когда он выйдет из строя, введите «bt» (для обратной трассировки), затем посмотрите в коде, чтобы увидеть, где он отказывает, и исправьте его.

например

Панель инструментов gdb / usr / local / bin / isql
Теперь введите R (для запуска) и нажмите Enter
наберите help largetable и введите
когда он падает, нажмите BT и введите

это скажет вам, где это упало, и я держу пари где-то в mdbtools. Теперь вам нужно получить исходный код и разобраться, что пошло не так — вам нужно знать C, чтобы сделать это.

  1. получить другой способ чтения MDB, например, другой драйвер ODBC для MS Access, но я знаю только о коммерческих для платформ, отличных от Windows, — это то, что я сделал.
2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]