Форум "DataBase и SQL"
Язык запросов баз даных
#0 ID © 04.05.06 12:38:35 - 12.05.06 13:05:36 FireBird 1.5 - сохранение структуры базы в файлДобрый день, уважаемые! Стыдно задавать такой вопрос, но ответ на него пока не нашел. Необходимо сбросить в текстовый файл структуру базы данных ( перечень таблиц с полями, тригеры, домены и т.п.). Но только с командной строки с использованием утилит, входящих в стандартную поставку FireBird 1.5 (isql или gstat или gbak...). Для других баз данных в инете нешел информацию (mysql, sysbase), а для Firebird - нет.
|
|
#1 maximus © 04.05.06 12:43:06
а не хочеш воспользоваться такими штучками как IBExpert??? |
|
#2 maximus © 04.05.06 12:44:50
кстати он бесплатный... |
|
#3 ID © 04.05.06 12:58:57
ситуация такова. С удаленного рабочего места необходимо снять структуру базы данных, что бы определить версию ( связь по Dial-Up). Задача состоит в том, что бы на сторону передавать минимум данных. Я хотел написать батник, который сбрасывал бы структу в файл и отправлял обратно. Таких рабочих мест более 200 :( Сейчас пробую найти утилитку в инете до 50-100 кб, которая сняла бы структура, так как вычитал, что стандартными средствами вроде бы невозможно это сделать IBExpert есть у меня, и там действительно есть извлечение метаданых. |
|
>#3 ID © у-у-у как запущено. Так это на 200-местах стоят отдельные сервера с базами? Зачем же из серверной базы делать настольную? |
|
#5 ID © 04.05.06 13:44:07
Коннект осуществляется только при необходимости синхнронизации, а в остальное время работают автономно ( для Dial-Up мне кажется, оптимално) |
|
#6 Andrey © 04.05.06 14:17:20
Хм... помоему такой утилиты для IB/FB нету. Точнее, в стандартной поставке точно нету. В принципе написать утилиту которая будет открывать коннект, и вычитывать информацию из системных таблиц не сложно, и весить она будет не много (если на API писать). Но, ИМХО, для "проверки версии базы" лучше было бы в базе завести... ну незнаю, хоть генератор какой-то ) и из него выбирать значения текущей версии (заботливо выставленые при очередном апдейте базы)... И где-то хранить разшифровку для каждой версии (если предпологается какое-то интелектуальное обновление клиентских баз, если не предпологается, то генератора хватит с головой чтобы сказать клиенту "Твоя БД старовата. Арбайтен нихт!") |
|
#7 ID © 04.05.06 14:37:27
думал над этим вариантом, но буду делть не через генератор, а обыкновенное занесение данных о версии ( для того что бы версия баз данных совпадала с версией экзешника). Но для начала необходимо все рабочие места привести к одной версии баз данных, а потом уже .... |
|
#8 ID © 12.05.06 13:05:36
есть решение, может кому-то пригодится: isql -x -a -o database_schema.sql dbpath -user X -password Y |
Написать ответ |
|
