Последняя версия DataExpress 3 beta от 4 апреля 2020 года.
Изображение Скачать | Изображение Что нового?
См. также: Энциклопедия DX | Форум на develop-soft | Песочница
ИзображениеИзображениеИзображение

Сжатие базы утилитой Gbak

Взаимодействие DataExpress с операционной системой, другими приложениями и сервисами.
vadr
Интересующийся
Сообщения: 90
Зарегистрирован: Вт июл 19, 2016 1:04 pm
Откуда: Санкт-Петербург

Сжатие базы утилитой Gbak

Сообщение vadr » Пн июл 31, 2017 11:52 am

Из-за того, что в начале работы с базой файлы сохранялись в ней, база имеет большой размер.
Для "сжатия" пытаюсь использовать утилиту gbak, но не получается.
Что делаю не так?
1. Скачал и установил на локальный комп. Firebird 2.5.
2. Для экспериментов скопировал базу "демо.fdb" в директорию bin пакета firebird.
3. В консоли cmd набираю:
c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b c:\Program Files\Firebird\Fir
ebird_2_5\bin\Демо.fdb c:\Program Files\Firebird\Firebird_2_5\bin\Демо1.fbk -use
r SYSDBA -pass masterke
Выдает ошибку:
gbak: ERROR:multiple sources or destinations specified
gbak:Exiting before completion due to errors


c:\Program Files\Firebird\Firebird_2_5\bin>

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 5 раз
Контактная информация:

Re: Сжатие базы утилитой Gbak

Сообщение YurAnt » Пн июл 31, 2017 12:12 pm

Путь: c:\Program Files\Firebird\Firebird_2_5\bin. Можно командой cd перейти в этот каталог и выполнить команду на создание копии используя относительный путь. Точно не помню в каких случаях, но кажется gbak-у не нравятся пробелы в путях...
Изображение

vadr
Интересующийся
Сообщения: 90
Зарегистрирован: Вт июл 19, 2016 1:04 pm
Откуда: Санкт-Петербург

Re: Сжатие базы утилитой Gbak

Сообщение vadr » Пн июл 31, 2017 12:54 pm

Файл лежит в одном каталоге с утилитой (c:\Program Files\Firebird\Firebird_2_5\bin\).
Перехожу в этот каталог: cd c:\Program Files\Firebird\Firebird_2_5\bin\,
набираю в командной строке: gbak -b Демо.fdb Демо1.fdb -user SYSDBA -pass masterke, получаем ошибку.


c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b Demo.fdb Demo1.fdb -user SYSDBA -pass masterke
gbak: ERROR:unavailable database
gbak:Exiting before completion due to errors


c:\Program Files\Firebird\Firebird_2_5\bin>

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 5 раз
Контактная информация:

Re: Сжатие базы утилитой Gbak

Сообщение YurAnt » Пн июл 31, 2017 1:10 pm

vadr писал(а):...Демо.fdb Демо1.fdb... :?:

Может Демо1.fbk..?

Попробуйте еще в параметре так прописать:
localhost:путь_к\базе.fdb
Изображение

Аватара пользователя
admin
Разработчик
Сообщения: 4759
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская
Благодарил (а): 24 раза
Поблагодарили: 208 раз

Re: Сжатие базы утилитой Gbak

Сообщение admin » Пн июл 31, 2017 1:36 pm

vadr писал(а):3. В консоли cmd набираю:
c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b c:\Program Files\Firebird\Fir
ebird_2_5\bin\Демо.fdb c:\Program Files\Firebird\Firebird_2_5\bin\Демо1.fbk -use
r SYSDBA -pass masterke

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

vadr
Интересующийся
Сообщения: 90
Зарегистрирован: Вт июл 19, 2016 1:04 pm
Откуда: Санкт-Петербург

Re: Сжатие базы утилитой Gbak

Сообщение vadr » Пн июл 31, 2017 2:37 pm

Перепробовал все возможные варианты( как мне кажется) и с кавычками и относительные пути
всегда выдает ошибку.
Может какие-нибудь настройки или в утилите или в Fb нужно сделать???


c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b "localhost:c:\Program Files\F
irebird\Firebird_2_5\bin\Demo.fdb" "c:\Program Files\Firebird\Firebird_2_5\bin\D
emo1.fbk" -user SYSDBA -pass masterke

gbak: ERROR:Unable to complete network request to host "localhost".
gbak: ERROR: Failed to establish a connection.
gbak:Exiting before completion due to errors

c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b "c:/Program Files/Firebird/Fi
rebird_2_5/bin/Demo.fdb" "c:/Program Files/Firebird/Firebird_2_5/bin/Demo1.fdb"
-user SYSDBA -pass masterke

gbak: ERROR:unavailable database
gbak:Exiting before completion due to errors

c:\Program Files\Firebird\Firebird_2_5\bin>gbak -b "c:\Program Files\Firebird\Fi
rebird_2_5\bin\Demo.fdb" "c:\Program Files\Firebird\Firebird_2_5\bin\Demo.fdb" -
user SYSDBA -pass masterke

gbak: ERROR:multiple sources or destinations specified
gbak:Exiting before completion due to errors

c:\Program Files\Firebird\Firebird_2_5\bin>

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 5 раз
Контактная информация:

Re: Сжатие базы утилитой Gbak

Сообщение YurAnt » Пн июл 31, 2017 3:38 pm

vadr писал(а):Unable to complete network request to host "localhost".

Не запущен сервер firebird. Проверьте в командной строке telnet localhost 3050

2-й параметр не .fdb а .fbk
Изображение

vadr
Интересующийся
Сообщения: 90
Зарегистрирован: Вт июл 19, 2016 1:04 pm
Откуда: Санкт-Петербург

Re: Сжатие базы утилитой Gbak

Сообщение vadr » Пн июл 31, 2017 4:47 pm

YurAnt писал(а):
vadr писал(а):Unable to complete network request to host "localhost".

Не запущен сервер firebird. Проверьте в командной строке telnet localhost 3050

2-й параметр не .fdb а .fbk

Спасибо, все получилось. Конечно, не запущен сервер. Еще не давно я об этом и не знал, что его надо запускать.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3352
Зарегистрирован: Чт апр 13, 2017 8:57 am
Поблагодарили: 5 раз
Контактная информация:

Re: Сжатие базы утилитой Gbak

Сообщение YurAnt » Пн июл 31, 2017 4:52 pm

Сервер должен быть запущен, если Вы указываете сетевой путь к базе (localhost:тра-ля-ля...). А вообще gbak может работать и при остановленном сервере.
Изображение

Виталий1990
Опытный
Сообщения: 295
Зарегистрирован: Сб июл 15, 2017 3:08 pm
Откуда: Санкт-Петербург
Поблагодарили: 2 раза

Re: Сжатие базы утилитой Gbak

Сообщение Виталий1990 » Пт авг 10, 2018 7:29 pm

Я не совсем понимаю. То есть если я планирую работать сугубо с локальным файлом, то всё равно нужно настраивать работу сервера через огнептицу?