powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Подскажите драйвер для работы с DBF в Java
2 сообщений из 2, страница 1 из 1
Подскажите драйвер для работы с DBF в Java
    #37145847
Sunrise Coder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Ищу что-нибудь адекватное и свободное для работы с DBF в Java.

Потребности:
1. Свободный продукт;
2. Возможность выполнять SQL-запросы к файлу;
3. Возможность читать и писать (создавать новые dbf-файлы и дописывать в существующие)
4. Желательно возможность работать с заранее неизвестными структурами таблиц.

1. Итак, под свободным я понимаю продукты, которые можно бесплатно использовать в своём приложении с полным функционалом, т.е. они не выдают подобных сообщений:
"(Trial version)
Trial limitations:
1) The trial version allows executing of not more than 50 queries at once.
2) SELECT queries return the first 1000 records in the result set."

2. Пробовал javadbf-0.4.0 - но там он вообще не умеет делать запросы к dbf-файлу. Только построчный и поячеичный перебор всего, когда можно было бы просто указать "Where field1 = 5" или "select distinct field1 from file.dbf" - приходится полностью прокручивать всё это дело ручками, что очень сильно сказывается на производительности приложения.
Кроме того, здесь ещё один косяк - при сохранении dbf-файла он заменяет десятичные разделители запятыми, когда должны быть точки, и для dbf-формата это очень критично.
Может, конечно, у меня ещё руки не до конца выпрямились, я этого не отрицаю, и если это так - буду очень признателен за подсказки, как это дело исправить (я имею в виду и десятичные разделители и sql-запросы).

3. Возможность читать и писать в файлы - тут я имею в виду желательно, конечно, иметь возможность читать из DBF и писать в DBF-файл с помощью sql-запросов, ну или хотя бы как-нибудь, просто основная задача - резать большие DBF-файлы на кучу маленьких по определённым значениям полей.

4. Форматы исходных DBF-файлов бывают разные, и часто меняются, поэтому не очень хотелось бы каждый раз править исходники, пересобирать и расставлять юзерам по-новой.
Поэтому драйвера, работающие только по следующему принципу - крайне не желательны:
DBF dbf = new DBF();
Field f1 = new Field();
f1.setType("N");
f1.setLength(9);
dbf.add(f1);
Т.е. я имею в виду, что создание объектов на уровне кода не очень удобно, т.к. заранее не известно, сколько полей в базе. Гораздо более приемлемый способ - это сначала считать все поля в массив, вывести юзеру на форму, и он уже сам укажет, какие поля ему добавить, т.е.:
DBF dbf = new DBF("file.dbf");
List<Field> fields = new ArrayList<Field>();
for(int i = 0; i<dbf.fieldsCount(); i++) {
fields.add(dbf.fields[i].getField());
}
И последующее создание файла DBF в соответствии с этим списком полей fields:
DBF dbf = new DBF("file.dbf");
dbf.setFields(fields);
Query....
while((Object row = Query.next()) != null) {
dbf.addRecord(row);
}

В общем, если кто сталкивался жду ответов или вопросов для уточнения каких-либо нюансов.

PS. Эти примеры - весьма условны, они могут содержать синтаксические ошибки и прочее, я просто хотел показать способ реализации.
...
Рейтинг: 0 / 0
Подскажите драйвер для работы с DBF в Java
    #37151446
HXTT DBF Pure Java JDBC (1.2, 2.0, 3.0, 4.0) Drivers for Xbase Database

Оно, правда, стоит денег.

PS. Я этот софт пользовал лет пять назад. Вроде были какие-то проблемки, но в целом, помню, остался доволен.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Подскажите драйвер для работы с DBF в Java
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]