ďťż
 
[MS SQL] dodawanie użytkownika do bazy ďťż
 
[MS SQL] dodawanie użytkownika do bazy
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

[MS SQL] dodawanie użytkownika do bazy



Krzysztof Wiśniewski - 28-02-2006 13:13
[MS SQL] dodawanie użytkownika do bazy
  W mojej aplikacji wygodnie jest mi trzymać nazwy użytkowników w jednej z
tabel. Chciałbym, aby dodanie rekordu do tej tabeli spowodowało wstawienie
loginu na serwer i utworzenie użytkownika w tej bazie. Napisałem więc
trigger:

CREATE TRIGGER JakasNazwa ON dbo.TabelaJuzerow
FOR INSERT
AS
BEGIN
DECLARE @JakiLogin varchar(30);
SELECT @JakiLogin = Login FROM inserted;
exec sp_grantdbaccess @JakiLogin;
/* ... */
END

Ale zostałem potraktowany komunikatem, że procedura sp_grantdbaccess nie
może być uruchomiona w ramach transakcji. Jak więc można zrealizować mój
pomysł?

--
Pozdrawiam,
Krzysiek





Grzegorz Danowski - 13-03-2006 11:19
=?iso-8859-2?Q?Re:_=5BMS_SQL=5D_dodawanie_u=BFytkownika_do_ba zy?=
  Użytkownik "Krzysztof Wiśniewski" <ktuvok@poczta.onet.pl> napisał w
wiadomości news:dtvtmc$gd0$1@news.onet.pl...
(...)
> Napisałem więc trigger:
>
> CREATE TRIGGER JakasNazwa ON dbo.TabelaJuzerow
(...)

> Ale zostałem potraktowany komunikatem, że procedura sp_grantdbaccess nie
> może być uruchomiona w ramach transakcji. Jak więc można zrealizować mój
> pomysł?

Zamiast dodawać userów w triggerze dodawaj ich w procedurze dodającej
rekordy do tabeli TabelaJuzerów.

Pozdrawiam
Grzegorz




Krzysztof Wiśniewski - 13-03-2006 11:19

 
Użytkownik "Grzegorz Danowski" <gdn__na@serwerze__poczta.onet.pl> napisał w
wiadomości news:du24u9$3ek$1@inews.gazeta.pl...
| Użytkownik "Krzysztof Wiśniewski" <ktuvok@poczta.onet.pl> napisał w
| wiadomości news:dtvtmc$gd0$1@news.onet.pl...
| (...)
| > Napisałem więc trigger:
| >
| > CREATE TRIGGER JakasNazwa ON dbo.TabelaJuzerow
| (...)
|
| > Ale zostałem potraktowany komunikatem, że procedura sp_grantdbaccess nie
| > może być uruchomiona w ramach transakcji. Jak więc można zrealizować mój
| > pomysł?
|
| Zamiast dodawać userów w triggerze dodawaj ich w procedurze dodającej
| rekordy do tabeli TabelaJuzerów.
|

Niestety, to nie takie proste - dodawanie jest po stronie aplikacji i nie
korzysta z procedury przechowywanej. Obsługę juzerów rozwiązałem w
międzyczasie w taki sam sposób, ale męczy mnie, dlaczego nie da się tego
zautomatyzować...

A może da się jakoś wyłączyć "transakcyjność" operacji w ramach trigger'a?
;)

Pozdrawiam,
Krzysiek




Marcin A. Guzowski - 13-03-2006 11:21

  Krzysztof Wiśniewski napisał(a):

> A może da się jakoś wyłączyć "transakcyjność" operacji w ramach trigger'a?
> ;)

Ano pewnie da się. Jeśli rzeczywiście potrzebujesz tego rozwiązania, to dodaj
IF @@TRANCOUNT > 0 COMMIT TRAN
linijkę przed wywołaniem procedury, która nie może być wywoływana w transakcji.
Nie testowałem, ale to powinno zatwierdzić transakcję przed wywołaniem procedury,
więc samo wywołanie żadną transakcja objęte już nie będzie.

--
Pozdrawiam,
Marcin Guzowski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    jak to =?ISO-8859-2?Q?zrobi=E6=2E=2E=2E=3F_TSQL_sql_server?==?ISO-8859-2?Q?_?= =?iso-8859-2?Q?=5BMS_SQL=5D_Czy_mo=BFna_wywo=B3a=E6_funkcje_t ylko_raz_dla?==?iso-8859-2?Q?_ca=B3ego_zbioru_=BCr=F3d=B3owego=3F?= [MSSQL] =?ISO-8859-2?Q?zgodno=B6ci_z_licencjami_Microsoft_?==?ISO-8859-2?Q?SQL_Server?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [MSSQL] ACCESS - SQL =?ISO-8859-2?Q?B=B3ad_w_konwersji_lic?==?ISO-8859-2?Q?zb?= =?iso-8859-2?Q?=5Bmssql=5D_Zapytania_rekurencyjne__-_czy_sk=B3adnia_sql?==?iso-8859-2?Q?_co=B6_takiego_przewiduje_=3F?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= =?iso-8859-2?Q?=5BMySQL=5D_Co_minimalnie_potrzebne_zeby_mie=E 6_klienta_My?==?iso-8859-2?Q?SQL_na_Linuxie=3F?= [oracle] - Oracle SQL Developer - co to jest SID? =?ISO-8859-2?Q?[Oracle]_Wywo=B3anie_skryptu_sh_z_PL/SQL-a=3F=3F?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • red-hacjenda.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com