Как открыть файл DBF в DBeaver с помощью JDBC

Я не уверен, почему я не могу подключиться к файлам .DBF с помощью DBeaver со встроенным драйвером JDBC для "Flat Tiles (CSV / DBF)".

У меня есть общий диск с десятками файлов DBF. Я создаю соединения, как показано на прикрепленных изображениях, но когда я подключаюсь к источнику, у меня возникают две проблемы. Я включил шаги, которым следую, и полученную ошибку.

Есть ли у кого-нибудь опыт подключения к файлам DBF с помощью JDBC и / или использования инструмента DBeaver, который может мне здесь помочь?

Я загрузил этот JAR-файл библиотеки DANS-DBF с GitHub, но не уверен, как его использовать в этой ситуации. Я заметил, что на этом сайте написано

CsvJdbc требует Java версии 1.6 или новее. Для чтения файлов DBF необходимо загрузить библиотеку DANS DBF и включить ее в CLASSPATH.

Но я не знаю, как добавить его в проекты DBeaver. Они не используют пути сборки, как настоящий Java-проект.

(Я знаю, что могу открыть их в Excel, но предпочитаю этот инструмент для запросов данных).

Я создаю базу данных
 введите описание изображения здесь

Я выбираю сборку в CSV с типом подключения DBF.
введите описание изображения здесь

В свойствах драйвера был только .CSV. Я попробовал с этим параметром, и когда он не работал, я изменил его на .dbf, но он все равно не работал
 введите описание изображения  здесь

Я могу подключиться к этой папке нормально и знаю, что в ней много файлов DBF.
 введите описание изображения здесь

Настройки FYI.
 введите описание изображения здесь

Когда я пытаюсь открыть один появившийся файл DBF, я получаю сообщение об ошибке.  введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь


person Frantumn    schedule 06.03.2017    source источник
comment
Вы можете добавить экран с вкладкой со свойствами драйвера.   -  person Grzesiek    schedule 06.03.2017
comment
Это уже есть. 3-е изображение.   -  person Frantumn    schedule 06.03.2017
comment
Вы добавили драйвер jdbc в конфигурацию.   -  person Grzesiek    schedule 06.03.2017
comment
Добавил 2 скриншота, надеюсь это вы имеете в виду.   -  person Frantumn    schedule 06.03.2017
comment
Эта библиотека в нестабильной версии может использовать драйвер стабильной версии jdbc.   -  person Grzesiek    schedule 06.03.2017
comment
Вы можете быть более конкретным? Не могли бы вы предоставить информацию о том, где была бы более стабильная версия и почему ее нельзя использовать? Спасибо за вашу помощь.   -  person Frantumn    schedule 06.03.2017
comment
dans-dbf-lib-1.0.0-beta-10.jar - это бета-версия, может не работать (не тестировалось в производственной среде).   -  person Grzesiek    schedule 06.03.2017


Ответы (2)


Прошу прощения за то, что вдохнул жизнь в этот пост полуторагодовалой давности, но у меня была та же проблема, и это была первая ссылка в Google.

После долгих исследований и возни я заставил DBeaver открыть плоский файл .dbf, используя большинство настроек, которые вы уже описали.

Драйвер CSV / DBF JDBC для открытия файлов dbf требует DANS DBF, как вы упомянули, и требует его добавления в CLASS PATH. Информация об этом процессе была ограниченной, и я не нашел простого способа изменить ее в Dbeaver. Я также просмотрел несколько других JDBC, которые предположительно открывали файлы xBASE, такие как HXTT, но они не были бесплатными, что было препятствием для моего использования.

Однако я заставил его работать, поместив файл jar DANS DBF в тот же каталог, что и драйвер JDBC csv. Он без труда нашел это как зависимость и работал как шарм.

Так что для всех, кто хочет это сделать.

  • В DBeaver откройте диспетчер драйверов и выберите плоский файл csv.
  • при необходимости загрузите драйвер.
  • загрузить DANS DBF с сайта souce forge http://dans-dbf-lib.sourceforge.net
  • добавьте этот файл в драйвер и убедитесь, что вы поместили его в тот же каталог, что и драйвер csvjdbc. Он должен находиться в вашей пользовательской папке .dbeaver-drivers. если вы щелкните файл драйвера и кнопку информации, он должен указать путь к файлу.
  • Затем добавьте файл DANS DBF в диспетчер драйверов.
  • Убедитесь, что вы изменили тип фильтра файлов на .dbf, как вы это делали, иначе он скроет все файлы .dbf.
  • Сделайте новое соединение, и все готово!

несколько замечаний. Я обнаружил, что расширение типа файла чувствительно к регистру, поэтому, если вы фильтруете по .dbf, то .DBF не будет отображаться в соединении. Несколько человек отметили, что драйвер JDBC не любит пробелов в именах файлов и что это драйвер только для чтения с некоторыми особенностями.

person Ben    schedule 20.08.2018
comment
Удалите ссылки в интерфейсе свойств драйвера на существующие файлы драйвера и добавьте каждый .jar по отдельности. Обязательно удалите существующее соединение и создайте новое. - person fzzylogic; 18.04.2019
comment
Прошу прощения за то, что не опубликовал это, но у меня проблемы с этой ошибкой. Я выполнил все шаги, удалил драйверы и вручную поставил их обратно. Я добавил путь к переменным окружения PATH, но по-прежнему получаю ошибку. Что мне не хватает - person Serphentelm; 21.09.2020
comment
Однако это нормально; Некоторое время назад я отказался от DBeaver. Если я правильно помню, самое большое, чего мне не хватало, - это CSV-драйвер для чтения плоских файлов, который использовал библиотеку dans dbf, и он не был предварительно связан. Поэтому я в основном добавил его вручную, и мне показалось, что он работает. Я скажу, что тип файла .dbf чувствителен к регистру, поэтому, если у вас есть .dbf и укажите .dbf, драйвер их не найдет. - person Ben; 23.09.2020

Недавно я столкнулся с этой проблемой и хотел бы поделиться, если у вас все еще есть проблемы с DBeaver, заявив, что он не может найти Field или getRecordCount и т. Д. Serphentelm упомянул следующие шаги и все еще получает ошибку. Я обнаружил, что источником является JAR-файл из sourceforge, а НЕ скомпилированные файлы .class.

Банку пришлось соорудить самому. Для тех, кто в этом нуждается, я помещаю его здесь: http://s000.tinyupload.com/index.php?file_id=59469996816520223299

Я поместил это в папку csvjdbc, упомянутую выше, а затем просто добавил файл со страницы редактирования драйвера в DBeaver, чтобы добавить банку.

person Jeff MO    schedule 02.12.2020