|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
условие такое: есть пользователь который бэкапит бд по умолчанию он прав на новые бд не имеет.Нужно написать скрипт который будит предварительно узнавать все бд на серваке и потом накидывать права в юзербэкап в задумке это выглядело так : пишу селект результат селекта отправляю в переменную и жаю права на содержимое в переменной нашему юзеру. Но нефига оказалось не все так просто так как на выходе после селекта я получаю табличку. надо как то ее преобразовать в текст через запятую как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 08:20 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
более умные и грамотные товарищи подсказали использовать курсоры чтобы не заморачиваться с тем как я это хотел сделать.если кто объяснит как правильно пользоваться курсорами и как это реализовать в моей задаче буду очень признателен ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 15:46 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
никто со мной разговаривать не хочет ) вообщем накрапал я бяку скажите хоть работать будит или нет стремно пробывать ) DECLARE cursor_1 cursor for SELECT имя колонки FROM имя БД WHERE значение равно томуто open cursor_1 DECLARE @names varchar(30) -- это я так понял переменная в которую будит записываться содержимое курсора FETCH next from cursor_1 INTO @names -- из того что я понял,не факт что это так по умолчанию курсор над всеми строчками и как бы надо его сдвинуть разочек вниз WHILE @@FETCH_STATUS=0 begin GRANT dump on @names to нужный пользователь FETCH next from cursor_1 INTO @names end close cursor_1 deallocate cursor_1 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 17:08 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
ориентируясь на то как это делается в ms sql вроде расчехлил скрипт для teradata можно закрывать тему)а лучше удалить ... |
|||
:
Нравится:
Не нравится:
|
|||
02.03.2015, 19:20 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589для teradataС этого и надо было начинать, а не заканчивать :) Впрочем, сомневаюсь, что это помогло бы... ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2015, 17:19 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
на самом деле сделать то сделал,но есть нюансы скрипт мой например дает права всем базам сразу что есть.И не знаю стоит ли его юзать не стоит пока оч плохо понимаю архитектуру терадаты мало ли там логи какие-нибудь будут дико расти от этого и тд.думаю в идеале надо сделать чтобы была какая-то проверка в скрипте мол если прав нет то дать если есть пропустить,но вот пока как это реализовать не знаю (( ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2015, 17:38 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589, разве что qrylog станет больше. Если хотите узнать права для пользователя на уровне баз, то SELECT base.DatabaseName AS "Database",AR.AccessRight FROM DBC.DBase base, DBC.AccessRights AR, dbc.DBase usr WHERE AR.UserId = usr.DatabaseId and usr.databaseNameI= имя пользователя AND AR.DatabaseId=DBase.DatabaseId and tvmid='00'xb -- все "таблицы" ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 15:16 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
спасибо) но с этим уже разобрался получилось даж сделать так чтоьы права прилетали только новым бд) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 20:35 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
а не знаете случайно как прикрутить sql скрипт в cron? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2015, 21:13 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589а не знаете случайно как прикрутить sql скрипт в cron? bteq ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 11:55 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
тогда получается у меня bteq должен быть на серваке установлен так ведь? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 13:36 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
тогда получается у меня bteq должен быть на серваке установлен так ведь? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 15:04 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
написал вот такой маленький скриптик .LOGOFF .SET SESSION TRANSACTION ANSI .LOGON dbsname/userid,pwd CALL tstprocedure(); .LOGOFF сохраняю его в файлик с расширением .bteq и запускаю потом из bteq командой .run file путь к скрипту в итоге процедура вызывается но не отрабатывает если убрать последнею строчку логофф все работает как надо но нельзя оставлять сессию висячей бо тогда студия не работает ) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 15:26 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589, При SESSION TRANSACTION ANSI транзакции закрывать надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 17:07 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589и запускаю потом из bteq командой .run file путь к скрипту можно проще из крона: bteq < скрипт.bteq zefs589написал вот такой маленький скриптик Код: sql 1. 2.
этого хватит ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 17:12 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
а какой командой закрывать транзакцию весь мозг кипит уже весь мануал перерыл, если я оставлю скрипт .LOGON dbsname/userid,pwd CALL tstprocedure(); бьет ошибку бо call не проходит из BTET ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 17:40 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
illeo спасибо добрый человек разобрался внес commit просто в процедурку и все чики пуки ... |
|||
:
Нравится:
Не нравится:
|
|||
10.03.2015, 18:01 |
|
Народ помогите с sql
|
|||
---|---|---|---|
#18+
zefs589бьет ошибку бо call не проходит из BTET для вызова процедуры в BTET, ее надо компилировать так же в BTET. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.03.2015, 14:39 |
|
|
start [/forum/topic.php?fid=56&msg=38897247&tid=2015158]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
171ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
others: | 235ms |
total: | 507ms |
0 / 0 |