isql Экспорт БД

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
gmixo
Сообщения: 8
Зарегистрирован: 22 сен 2010, 08:44

isql Экспорт БД

Сообщение gmixo » 22 сен 2010, 09:08

делаю экспорт метаданных в файл через 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 генерирует по-разному запросы для таблиц и для процедур? и что с этим делать)

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 23 сен 2010, 10:36

ну обрамите второго ADMIN в кавычки...
isql это просто программа, в ней вполне может быть ошибка.

gmixo
Сообщения: 8
Зарегистрирован: 22 сен 2010, 08:44

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

Сообщение gmixo » 23 сен 2010, 10:49

файл под 15000 строк получается, процедур около 100...

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

Dimitry Sibiryakov
Заслуженный разработчик
Сообщения: 1436
Зарегистрирован: 15 сен 2005, 09:05

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

Сообщение Dimitry Sibiryakov » 23 сен 2010, 15:01

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 23 сен 2010, 23:11

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

gmixo
Сообщения: 8
Зарегистрирован: 22 сен 2010, 08:44

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

Сообщение gmixo » 24 сен 2010, 07:18

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

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

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 24 сен 2010, 10:53

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

gmixo
Сообщения: 8
Зарегистрирован: 22 сен 2010, 08:44

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

Сообщение gmixo » 24 сен 2010, 11:09

kdv писал(а): а смысл этого мазохизма в чем?

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

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

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

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

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

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

Сообщение kdv » 24 сен 2010, 12:47

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

gmixo
Сообщения: 8
Зарегистрирован: 22 сен 2010, 08:44

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

Сообщение gmixo » 24 сен 2010, 13:26

спасибо за внимание)

Ответить