Страница 1 из 1

isql Экспорт БД

Добавлено: 22 сен 2010, 09:08
gmixo
делаю экспорт метаданных в файл через isql
затем мне нужно создать базу по имеющемуся скрипту

но при создании базы выпадает ошибка 104
Token unknown -ADMIN

ошибка происходит при определении прав пользователю ADMIN на объекты БД
в скрипте пользователь ADMIN используется в кавычках для определении прав на таблицы
а при отпеределении прав на исполнение процедур используется без кавычек. Слово ADMIN зарезервировано

фрагмент скрипта
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER A1;
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER A2;
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER A3;
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER ADKD;
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER "ADMIN";
GRANT DELETE, INSERT, SELECT, UPDATE, REFERENCES ON ARCHIVES TO USER ADMKD;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER A1;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER A2;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER A3;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER ADKD;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER ADMIN;
GRANT EXECUTE ON PROCEDURE CALC_DOCNUM TO USER ADMKD;
не хочу пользоваться gbak поскольку во вновь созданной базе нужно будет частично заполнять таблицы вручную, тоесть просто дополнить скрипт для isql и получить то что нужно.

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

Re: isql Экспорт БД

Добавлено: 23 сен 2010, 10:36
kdv
ну обрамите второго ADMIN в кавычки...
isql это просто программа, в ней вполне может быть ошибка.

Re: isql Экспорт БД

Добавлено: 23 сен 2010, 10:49
gmixo
файл под 15000 строк получается, процедур около 100...

если нет логичного объяснения такому поведению видимо придётся пользоваться gbak либо IBEScript

Re: isql Экспорт БД

Добавлено: 23 сен 2010, 15:01
Dimitry Sibiryakov
gmixo писал(а):файл под 15000 строк получается, процедур около 100...
Найдите кого-нибудь кто умеет пользоваться текстовыми редакторами, а в частности - функцией "Поиск и Замена".

Re: isql Экспорт БД

Добавлено: 23 сен 2010, 23:11
kdv
если нет логичного объяснения такому поведению видимо придётся пользоваться gbak либо IBEScript
какой-то караул. Я ведь Вам объяснил, что это возможный баг isql при экспорте грантов для процедур. И Дмитрий Сибиряков правильно посоветовал.
Вообще какой-то ужас просто. Такие страшные проблемы, что просто оторопь берет. Вам же скрипт нужен для одноразового перелива данных? Тогда Вы кто - администратор, программист, или ... ?

Re: isql Экспорт БД

Добавлено: 24 сен 2010, 07:18
gmixo
Извиняюсь! не пояснил что действительно экспорт данных а затем и создание бд из скрипта будут делаться программно а не "на один раз".

надеюсь понятно что в случае программирования не хотелось бы писать "затычки"

как я понимаю багами isql вы не занимаетесь? просто не имел опыта по взаимодействию с ТП Firebird по исправлению ошибок

Re: isql Экспорт БД

Добавлено: 24 сен 2010, 10:53
kdv
экспорт данных а затем и создание бд из скрипта будут делаться программно а не "на один раз".
а смысл этого мазохизма в чем?
как я понимаю багами isql вы не занимаетесь? просто не имел опыта по взаимодействию с ТП Firebird по исправлению ошибок
ТП? с утра не могу догадаться, что это... :)
баги рапортуют в трекер, на англ. языке. http://tracker.firebirdsql.org/

Re: isql Экспорт БД

Добавлено: 24 сен 2010, 11:09
gmixo
kdv писал(а): а смысл этого мазохизма в чем?

баги рапортуют в трекер, на англ. языке. http://tracker.firebirdsql.org/
ТП - тех поддержка)

про баги ага так и представлял.. поиском нашёл там нечто подобное про конфликт с зарезервированным словом ADMIN, причём написано что для диалекта 3 должно всё замечательно работать.. вобщем как обстоят дела сейчас - будем ждать новых версий isql а пока без него обойдусь.

мазохизм у нас в проекте ещё какой)

а вообще изначально внедрялась система создания резервной копии и восстановления затем из неё БД(причём это может использоваться как для восстановления БД так и для переноса БД с одного предприятия на другое, реализовано с помощью gbak), а теперь ещё хотят делать перенос только части информации, а именно касающейся внутренней структуры данных, без собственно данных предприятия.
при этом как раз и делается экспорт метаданных и частично экспорт данных из таблиц.)) насколько это будет эффективно и полезно вопрос не ко мне=) как оказалось ibescript выполняет эту процедуру с помощью небольшого скрипта в 10 строчек.

Re: isql Экспорт БД

Добавлено: 24 сен 2010, 12:47
kdv
ну, да. я специально промолчал про ibescript и компоненты ibx (ibscript), чтобы понять, какова конечная цель. Если использовать компоненты, то конечно, их придется дотачивать. Не помню, есть-ли аналог в FIBPlus.
Хотя если хватило ibescript, то можно и им.

Re: isql Экспорт БД

Добавлено: 24 сен 2010, 13:26
gmixo
спасибо за внимание)