Импорт из DBF в Base. Как?

Автор dr.Faust, 26 июня 2010, 11:30

0 Пользователи и 1 гость просматривают эту тему.

dr.Faust

Сабж.

Я знаю, что можно открыть dbf в Calc и потом закинуть таблицу в БД. Но этот способ мне не подходит из-за размера таблиц.
Как их перенести в БД напрямую?
Свобода информации - свобода личности!

JohnSUN

Я в таких случаях поступаю так:
1. Файлы DBF, которые буду импортировать в свою BD, перекладываю (копирую) в отдельную папку. Обычно все DBF'ы лежат где-то кучей, руки не доходят поудалять старое, а на 3 шаге на них на всех любоваться будет скучно.
2. Создаю новую BD, говорю Мастеру, что подключаюсь к готовой базе dBASE, на следующем шаге - указываю папку, куда отобрал нужное, на последнем шаге жму Готово, согласившись с регистрацией базы и её открытием и сохранением
3. В открывшемся окне базы переключаюсь на Таблицы и вижу все свои DBF из этой временной папки
4. Обычным drag-and-drop'ом таскаю таблицы из окна этой базы, на Таблицы своей BD. Каждое такое перетаскивание запускает мастера копирования - тоже три шага (имя таблицы, копировать структуру, данные или и то и другое, создавать ли первичный ключ и какой, какие из полей нужно копировать, как они будут называться и какой формат иметь после копирования).
В общем, можно обойтись и без Calc'а. А можно и с Calc'ом: по F4 открыть зарегистрированные источники данных и таскать таблицы прямо в дереве слева - мастер копирования тот же самый
Владислав Орлов aka JohnSUN
Благодарить-не зазорно.
Подарить благо создателям офиса, нашему ресурсу, мне

dr.Faust

1 Уже
2 Пробую
3 Не вижу - получаю пустую базу

Если выбрать вместо dBASE Эл.табл. то можно открывать по 1 файлу, но тут же обламатся с кодировкой, которая 866 :(

С Калком по F4 не выйдет - нет там этих dbf, что на мой взгляд естественно.
Свобода информации - свобода личности!

prof-alex

#3
Цитата: dr.Faust от 26 июня 2010, 13:00
3 Не вижу - получаю пустую базу
Регистр у расширения файлов какой? Мне помогло переименование в нижний регистр.

«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра

dr.Faust

Вот же бред...
Помогло.
Спасибо!

Из-за чего так?
Свобода информации - свобода личности!

dr.Faust

Теперь если ещё и кодировку вылечить бы...
Свобода информации - свобода личности!

prof-alex

Меню "Правка" -> "База данных" -> "Свойство..." оно?

[вложение удалено Администратором]

«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра

dr.Faust

Если бы...

[вложение удалено Администратором]
Свобода информации - свобода личности!

prof-alex

А какая кодировка указана у тебя? Наверно системная?

«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра

dr.Faust

#9
Да, но выбор 866 ничего не изменяет...
Возможно, результат бы был, если бы я указал кодировку до подключения, но как это сделать я не знаю.
Свобода информации - свобода личности!

chkur

Нужно сохранить базу с нужной кодировкой, закрыть и открыть заново - мне обычно помогает.

dr.Faust

Конечно попробовал - не помогло.
Свобода информации - свобода личности!

prof-alex

Тогда нужен файл. Какой-нибудь dbf полегче и odb.

«Студентов, ранее изучавших Бейсик, практически невозможно обучить хорошему программированию. Как потенциальные программисты они подверглись необратимой умственной деградации» Э. Дейкстра

dr.Faust

Блин - начал делать базу полегче здесь всё нормально - кодировка переключилась.
разбираюсь...
Свобода информации - свобода личности!

dr.Faust

Видимо моя ошибка - то ли ОК не нажал то ли ещё что но у базы не изменилась кодировка. Сейчас поменял - нормально.

Однако теперь другая проблема - при перетаскивании в другую базу некоторых таблиц вылетает что-то похожее на:
Состояние SQL: S1000
Код ошибки: 98

java.io.IOException: java.lang.NullPointerException in statement [INSERT INTO "DOMA" ( "ID","NAME","KORP","SOCR","CODE","INDEX","GNINMB","UNO","OCATD") VALUES ( ?,?,?,?,?,?,?,?,?)]
Свобода информации - свобода личности!