Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > удаление столбца в dbf


Автор: Smolet 24.10.2007, 17:25
добрый день!

собственно сабж....

перерыл все что можно перерыть...
есть дбф таблица, мне нужно удалить столбец по его имени - как это можно сделать?

если это сделать нельзя - то можно ли скопировать выделенный столбец в другой файл?

заранее спасибо!

Автор: mbasil 25.10.2007, 11:57
Чтобы не писать самостоятельно разборку (dbf), ищите JDBC драйвер под это дело.

Пишите метод, который обрабатывает запрос и пишет значения в файл.

Для удаления столбца:

1. Создать новую таблицу (dbf файл) без столбца.
2..Запросить данные из старой таблицы и вставить построчно (в цикле) в  - новую.
3. "Убить" старую таблицу. 
4. Переименовать новую таблицу. 

Автор: fixxer 25.10.2007, 12:30
А лучше такой драйвер, который поддерживает ALTER TABLE

Автор: Smolet 25.10.2007, 14:18
нужны знатоки  JDBC драйверов )))

для решения задачи перебрал несколько драйверов, остановился на 2 
1) StelsDBF JDBC Driver v2.0
2) многократно рекомендуемый tux -ом jTDS драйвер

у меня возникло 2 разных проблемы...

- StelsDBF 
   легко подсоединяюсь, делаю выборку....в http://www.csv-jdbc.com/stels_dbf/doc.htm#User-defined%20SQL%20functions указана возможность удаления 
Цитата
 StelsDBF supports the most part of ANSI 92 grammar like SELECT, INSERT, UPDATE, DELETE and CREATE statements
, так вот как я не прописывал запрос ничего не выходит....

подскажите плз, как сформировать в данном случае запрос.

- jTDS
 здесь все проще ))) я вообще не могу подключиться....а вообще jTDS может работать с файлами на локальном диске? если да то как подключиться к таблице C:/Temp/test.dbf?

заранее спасибо.
 

Автор: Akina 25.10.2007, 14:35
Цитата(fixxer @  25.10.2007,  13:30 Найти цитируемый пост)
лучше такой драйвер, который поддерживает ALTER TABLE 

Он будет работать именно по описанному выше алгоритму. ПисАть только меньше.

Автор: tux 26.10.2007, 06:25
Цитата(Smolet @  25.10.2007,  14:18 Найти цитируемый пост)
многократно рекомендуемый tux -ом jTDS драйвер

Это когда я его рекомендовал для работы с DBF? Ссылку в студию. jTDS в принципе не знает что это такое, работает с MSSQL и Sybase. 

У StelsDBF возможности редактирования структуры таблицы нет. Создавай новую таблицу с нужной структурой и копируй данные между ними. Возможность редактирования структуры есть у платных драйверов, их много, можно поискать на сайте Sun.

Автор: Smolet 26.10.2007, 14:32
Цитата

Это когда я его рекомендовал для работы с DBF? Ссылку в студию.


а я и не говорил, что рекомендовал для дбф )))) я в опчем смысле....

немножко разобрался я с драйверами и их отличиями...
действительно 
Цитата
 У StelsDBF возможности редактирования структуры таблицы нет 


ну а с  jTDS  я так и не разобрался...

в общем остановился я на hxtt драйвере. да он платный, но! в базовой бесплатной части поддержка как раз дбф4(что мне и нужно) со всеми прибамбасами типа ALTER TABLE ... DROP и пр.

пока что эксперементирую и не жалуюсь, правда возник новый вопрос, но это уже новая тема )))

всем спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)