Чем выполнить GRANT из Delphi?
Модератор: kdv
Чем выполнить GRANT из Delphi?
Всем привет. Подскажите пожалуйста как можно из программы выполнить Grant? У меня есть БД (FireBird 1.5), Delphi2006 c компонентами IBase. В программе при помощи IBSecurityService я завожу юзера на сервере, как запустить GRANT оттудаже из программы? Т.е. какой компонентой воспользоваться? Например я пробовал IBSQL таким образом:
IBTr_gr.Active := True;
IBSQL_gr.SQL.Text := 'GRANT ALL ON AKTS TO NEW_USER;';
IBSQL_gr.ExecQuery;
IBTr_gr.Commit;
так вот вроде ни на что не ругается, но юзепу NEW_USER никакие права не добавляются, видимо чего-то не поимаю.....
з.ы. при помощи FIBPlus компонент все работало на ура, дурдом какой-то....
з.з.ы Пробовал использовать IBScript, никакого эффекта, такое чувство что коммит не проходит. Если я намеренно делаю ошибку и даю GRANT на несуществующую таблицу, то при выполнении вылетает ошибка, т.е. GRANT выполняется, но не коммитится, хотя везде указана транзакция IBTr_gr, да она только для этого и используется......... ниид хелп.....
IBTr_gr.Active := True;
IBSQL_gr.SQL.Text := 'GRANT ALL ON AKTS TO NEW_USER;';
IBSQL_gr.ExecQuery;
IBTr_gr.Commit;
так вот вроде ни на что не ругается, но юзепу NEW_USER никакие права не добавляются, видимо чего-то не поимаю.....
з.ы. при помощи FIBPlus компонент все работало на ура, дурдом какой-то....
з.з.ы Пробовал использовать IBScript, никакого эффекта, такое чувство что коммит не проходит. Если я намеренно делаю ошибку и даю GRANT на несуществующую таблицу, то при выполнении вылетает ошибка, т.е. GRANT выполняется, но не коммитится, хотя везде указана транзакция IBTr_gr, да она только для этого и используется......... ниид хелп.....
Оказывается все отрабатывалось и коммителось правильно, это у меня IBExpert чего тормозил, непонятно зачем там кнопка рефреш, если рефреш происходит только после того как переконнектишься к серваку, вот блин пол дня потерял.....
Тут вот еще подвопрос, может он и не совсем корректный, но все же, как нибудь можно написать чтобы все гранты добавились на все объекты БД? Ну что-то типа 'GRANT ALL ON ALL TO USER', а то в это же IBExpert есть кнопулина Grant All to All а как такой команду написать???
Тут вот еще подвопрос, может он и не совсем корректный, но все же, как нибудь можно написать чтобы все гранты добавились на все объекты БД? Ну что-то типа 'GRANT ALL ON ALL TO USER', а то в это же IBExpert есть кнопулина Grant All to All а как такой команду написать???
Вообще-то его фамилия отродясь была PUBLIC.Tonal писал(а): Я имел в виду то, что если заводятся пользователь и ему сразу же даются все права, то не проще ли завести одного, разрешить ему всё и ходить всем скопом под ним.
Согласен с предыдущим оратором.Tonal писал(а): Т.е. похоже что в консерватории ен всё в порядке...
мне было просто интересно, я же в самом вопросе признался что он некорректный, просто мне было проще дать права на все, потом отнять 4-5 таблиц....Moto писал(а): Тут вот еще подвопрос, может он и не совсем корректный, но все же,
спасибо за поддержку, пойду читать как список объектов БД наковырять...