| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > выборка из dbf-файлов |
| Автор: check 13.4.2007, 16:08 | ||||||||||||||||
| Нужно сделать выборку из нескольких связанных dbf-файлов. Собственно сама выборка прблемы не представляет, проблема в объёме данных. Для работы с dbf использую ODBC драйвер. В качестве альтернатива попробовал ещё JDBF-1.0. На ODBC решил остановиться потому что он позволяет работать с dbf через SQL, что в моем случае очень удобно(во всяком случае я так думал поначалу). Структура такая: есть файл 1.dbf в котором содержиться большая часть нужных мне полей:
Есть файл 3.dbf через который связаны 1.dbf и 2.dbf:
Конкретно сейчас я хочу выбрать из 3.dbf соответствующие kod1, kod2, kod3 и kod4 для каждой строки 1.dbf. Связь по ist, ista. Написать запрос с объединением я не могу, потому-что для запроса может использоваться только один объект Statement, а файлы находятся в разных папках. Для этого драйвера в JDBC URL указывается путь к папке с dbf-файлами,
другими словами эти два файла относятся к разным базам данных. Поэтому я делаю так:
со всеми записями файла. Точнее говоря ArrayList, элементами которого являются HashMap-ы с именами полей в качестве ключей. По выбранным ist и ista извлекаются kod1, kod2, kod3 и kod4 из 3.dbf
Вызывается этот метод для каждой(!) строки 1.dbf
Строк сейчас где-то 55000, а может быть гораздо больше. В результате после извлечения n-го количества строк выдается ошибка
Какие есть более удачные способы решить эту задачку? |
| Автор: tux 13.4.2007, 17:04 |
Мне кажется достаточным просто закрывать ResultSet и PreparedStatement перед возвратом результата. |
| Автор: check 13.4.2007, 19:06 |
| Упс! tux, большое спасибо. Убедиться в том, что всё нормуль смогу только в понедельник. |