Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Более или менее понятно. Спасибо!
И насчет IBExpert. Разработчики этой штуки придумали теперь регистрацию. И если выбрать персональную лицензию free, то в этой версии нет возможности выполнять экспорт данных из файла FireBird. Можно только выполнить экспорт в формат SQL, а с этим форматом надо изрядно повозиться, чтобы перегнать данные в тот же DBF. Такие дела... (С) Foxtrot |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
В оригинале: so it goes (C) Курт Воннегут ------------------ WBR, Igor |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Цезарь Сообщений: 127 Дата регистрации: 25.02.2012 |
Да ладно, что там сложного? Вот преобразование в обратную сторону (из DBF в SQL):
|
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
IBExpert формирует файл в формате SQL, как я понимаю, в формате для Firebird.
Кроме того, при обработке файла из формата sql попадались символы с ASCII <32, что приводило с разбиению считываемой строки на несколько строк. Это все можно обработать, но зачем, если через ODBC конвертирование таблицы из файла Firebird выполняется в 2 строки? |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Обработка всяких "нюансов" - например экранирование зарезервированных символов в строках (ты попробуй сформируй для фокса команду INSERT вставляющую строчку содержащую одновременно ВСЕ виды фоксовых кавычек - одинарные, двойные, квадратные скобки), обработка дат, blob-полей (если таковые есть), логических полей и т.п. ------------------ WBR, Igor |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Цезарь Сообщений: 127 Дата регистрации: 25.02.2012 |
А как Firebird выводит кавычки внутри строковых констант? В PostgreSQL строковая константа всегда ограничена апострофами, а апострофы внутри строки экранируются: '' или \'. В SQL-файле, создаваемом Phppgadmin, выводится ''. Для Фокса только эту подстроку и надо заменить:
Сложнее с типами данных, которых нет в Фоксе. С другой стороны, как вообще адекватно представить в DBF, например, типы данных GEOGRAPHY? |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Цезарь Сообщений: 127 Дата регистрации: 25.02.2012 |
Хм... В более знакомых мне Phppgadmin и Phpmyadmin при экспорте в SQL-файл создается простой текстовый файл с последовательностью команд. Правда, кодировка по умолчанию utf-8, так что символы с ASCII <32 там, конечно, есть. Но попытка парсинга GDB-файла всё же была Когда вместо доступа к базе данных есть только веб-приложение, способное только сохранить таблицы в SQL или CSV, приходится изобретать велосипеды. |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Их выводит не FB/IB а утилита IBExpert. Да и я ж сказал - это только "например" Есть и другие спецкоды, те же переводы строки - там вообще жуть если будет смешение Win/*Nix стандартов (одиночные/двойные CR+LF), блобы опять таки. Вопрос не в том что "невозможно" а в том что ЕСТЬ сложности Но самое главное, если есть вариант прямого доступа (тот же ODBC) то пляски вокруг препроцессинга .sql файлов не нужны ------------------ WBR, Igor |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Нынче попробовал законнектиться к Firebird из Win 7 32 при помощи ODBC-драйвера. Делаю все в точности так, как и для Win XP.
Установил драйвер с сайта производителя (притом более новый, чем для XP), проинсталлировал. Запустил VFP 9 (со всеми дополнениями) в режиме администратора. Выполнил команду:
lnHandle возвращает -1. Попробовал настроить соединение в режиме диалога. Ввел все, что в таких случаях полагается: [attachment 26390 firebird.jpg] При проверке соединения пишет: [attachment 26391 firebird2.jpg] На всякий случай дал дополнительные права доступа к папке, где находится файл GDB. Не помогло. В чем еще может быть причина? Вроде бы есть функции в VFP9, позволяющие более подробно посмотреть, в чем состоит ошибка. Исправлено 1 раз(а). Последнее : Simple777, 22.11.16 12:00 |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
AERROR()
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Код ошибки узнал:
1466 Connection Handle is invalid Дык и без кода ошибки было ясно, что invalid. Вот что пишется об этом коде ошибки в хелпе: Цитата: |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
Добейся соединения с сервером через визард ODBC, посмотри, что пишет сервер в свой лог.
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Дык я же вроде через Wizard и пытался соединяться в приводимых картинках. Или имеется в виду еще какой-то способ?
Тут ить дело-то какое? Все должно работать - нету ошибок. Но есть некие особенности у Win7 по сравнению с XP. Мне почему-то думается, что дело тут в недостаточности прав у фокса или еще у какого-то софта. Может быть, надо dll зарегистрировать еще? В Win XP ничего такого не делал - все работало. |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
И насчет сервера - у меня нету сервера. Все происходит на локальном компьютере.
|
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
gds32.dll таки лежит в system32?
Сам файл базы не RO? Кнопень "сервис" что скрывает? "Диалект" на 1-цу не пробовал ставить? К другой gdb не пробовал подключиться? ------------------ WBR, Igor |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Таки да - лежит именно в C:\windows\system32
Дата у файла 23.02.04 Файл базы не Read Only. Диалект 1 ставил. С другой базой gdb коннектиться пробовал. Результат тот же. Насчет кнопеня "Сервис". На первый взгляд ничего особенного там в закладках нет. Но при выборе закладки users появляется вот такое сообщение об ошибке: [attachment 26392 firebird3.jpg] Возможно, в этом причина проблемы? И если причина в этом, то как это можно побороть? Кстати, пробовал ставить имя хоста в маршруте к файлу gdb - ставил впереди слово hostel:d:\mydir\myfile.gdb Но это тоже не помогло. |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Почитал в инете про такого рода ошибки.
Но неясно, в чем причина ошибки. Вообще-то у меня и FireBird проинсталлирован тоже. Но ведь и в Win XP все так же. Посмотрел еще насчет активных служб. Вот что есть из служб по DSN и FireBird [attachment 26393 firebird4.jpg] Поверил - все службы, связанные c FireBird, запускаются: Firebird Guardian и Firebird Server Нашел описание кода ошибок Firebird: Цитата: www.firebirdsql.org |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Тем не менее, удалось добиться некоторого прогресса.
Вычитал, что (машинный перевод) Цитата: Написал в имени базы: localhost:d:\mydir\myfile.gdb При проверке соединения получил такое сообщение: [attachment 26394 firebird5.jpg] Спрашивается, и чего он отверг запрос на подключение? Его же не с Медстрахом пытаются соединить... |
Re: Взять данные из файла *.gdb Firebird | |
---|---|
Simple777 Автор Сообщений: 33855 Дата регистрации: 05.11.2006 |
Файл gdb был сформирован в Firebird 1.5 (сторонним приложением)
|
Re: Взять данные из файла *.gdb Firebird | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
www.ibase.ru
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
© 2000-2024 Fox Club  |