Гость
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Народ помогите с sql / 20 сообщений из 20, страница 1 из 1
02.03.2015, 08:20
    #38892017
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
условие такое: есть пользователь который бэкапит бд по умолчанию он прав на новые бд не имеет.Нужно написать скрипт который будит предварительно узнавать все бд на серваке и потом накидывать права в юзербэкап

в задумке это выглядело так :
пишу селект результат селекта отправляю в переменную и жаю права на содержимое в переменной нашему юзеру. Но нефига оказалось не все так просто так как на выходе после селекта я получаю табличку. надо как то ее преобразовать в текст через запятую как это сделать?
...
Рейтинг: 0 / 0
02.03.2015, 15:46
    #38892519
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
более умные и грамотные товарищи подсказали использовать курсоры чтобы не заморачиваться с тем как я это хотел сделать.если кто объяснит как правильно пользоваться курсорами и как это реализовать в моей задаче буду очень признателен
...
Рейтинг: 0 / 0
02.03.2015, 17:08
    #38892647
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
никто со мной разговаривать не хочет )

вообщем накрапал я бяку скажите хоть работать будит или нет стремно пробывать )

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
...
Рейтинг: 0 / 0
02.03.2015, 19:20
    #38892798
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
ориентируясь на то как это делается в ms sql вроде расчехлил скрипт для teradata можно закрывать тему)а лучше удалить
...
Рейтинг: 0 / 0
05.03.2015, 17:19
    #38896353
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
zefs589для teradataС этого и надо было начинать, а не заканчивать :)
Впрочем, сомневаюсь, что это помогло бы...
...
Рейтинг: 0 / 0
05.03.2015, 17:38
    #38896390
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
на самом деле сделать то сделал,но есть нюансы скрипт мой например дает права всем базам сразу что есть.И не знаю стоит ли его юзать не стоит пока оч плохо понимаю архитектуру терадаты мало ли там логи какие-нибудь будут дико расти от этого и тд.думаю в идеале надо сделать чтобы была какая-то проверка в скрипте мол если прав нет то дать если есть пропустить,но вот пока как это реализовать не знаю ((
...
Рейтинг: 0 / 0
06.03.2015, 14:30
    #38897247
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
реализовал )
...
Рейтинг: 0 / 0
06.03.2015, 15:16
    #38897327
illeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
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 -- все "таблицы"
...
Рейтинг: 0 / 0
06.03.2015, 20:35
    #38897617
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
спасибо) но с этим уже разобрался получилось даж сделать так чтоьы права прилетали только новым бд)
...
Рейтинг: 0 / 0
06.03.2015, 21:13
    #38897645
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
а не знаете случайно как прикрутить sql скрипт в cron?
...
Рейтинг: 0 / 0
10.03.2015, 11:55
    #38899671
illeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
zefs589а не знаете случайно как прикрутить sql скрипт в cron?
bteq
...
Рейтинг: 0 / 0
10.03.2015, 13:36
    #38899844
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
тогда получается у меня bteq должен быть на серваке установлен так ведь?
...
Рейтинг: 0 / 0
10.03.2015, 15:04
    #38900031
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
тогда получается у меня bteq должен быть на серваке установлен так ведь?
...
Рейтинг: 0 / 0
10.03.2015, 15:26
    #38900091
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
написал вот такой маленький скриптик

.LOGOFF
.SET SESSION TRANSACTION ANSI
.LOGON dbsname/userid,pwd
CALL tstprocedure();
.LOGOFF


сохраняю его в файлик с расширением .bteq
и запускаю потом из bteq командой .run file путь к скрипту

в итоге процедура вызывается но не отрабатывает
если убрать последнею строчку логофф все работает как надо но нельзя оставлять сессию висячей бо тогда студия не работает )
...
Рейтинг: 0 / 0
10.03.2015, 17:07
    #38900313
illeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
zefs589,

При SESSION TRANSACTION ANSI транзакции закрывать надо.
...
Рейтинг: 0 / 0
10.03.2015, 17:12
    #38900324
illeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
zefs589и запускаю потом из bteq командой .run file путь к скрипту

можно проще из крона: bteq < скрипт.bteq



zefs589написал вот такой маленький скриптик


Код: sql
1.
2.
.LOGON dbsname/userid,pwd
CALL tstprocedure();



этого хватит
...
Рейтинг: 0 / 0
10.03.2015, 17:40
    #38900374
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
а какой командой закрывать транзакцию весь мозг кипит уже весь мануал перерыл,
если я оставлю скрипт

.LOGON dbsname/userid,pwd
CALL tstprocedure();

бьет ошибку бо call не проходит из BTET
...
Рейтинг: 0 / 0
10.03.2015, 18:01
    #38900398
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
illeo спасибо добрый человек разобрался внес commit просто в процедурку и все чики пуки
...
Рейтинг: 0 / 0
11.03.2015, 14:39
    #38901391
illeo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
zefs589бьет ошибку бо call не проходит из BTET

для вызова процедуры в BTET, ее надо компилировать так же в BTET.
...
Рейтинг: 0 / 0
11.03.2015, 15:14
    #38901463
zefs589
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Народ помогите с sql
тогда надо вникать) меня просто можн сказать под танк кинули,будит время разберусь пока так работает как написал выше
...
Рейтинг: 0 / 0
Форумы / Другие СУБД [игнор отключен] [закрыт для гостей] / Народ помогите с sql / 20 сообщений из 20, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]