Wiązanie dokumentów z obiegiem w DMS
Moderator: mikey
Wiązanie dokumentów z obiegiem w DMS
Witam
Do jednej z tabel w bazie ERP dopisany został trigger który używa selecta do tabel z bazy DMSowej, jednak jego wywołanie powoduje:
Błąd modyfikacji rekordu tabeli DokZwiazane.
Nie udało się dodać powiązania z dokumentem. Błąd obsługi bazy (90) Obiekt główny serwera „fb1” nie jest w stanie uzyskać dostępu do bazy danych „TutajNazwaBazyDMS” przy bieżącym kontekście zabezpieczeń.
Czy ktoś się z tym spotkał ?
Dodam że user fb1,fb2,fb3 są podmapowani do bazy DMSowej oraz mają uprawnienia SELECT do tych tabel i z poziomu SQL wszystko pięknie działa
?
Do jednej z tabel w bazie ERP dopisany został trigger który używa selecta do tabel z bazy DMSowej, jednak jego wywołanie powoduje:
Błąd modyfikacji rekordu tabeli DokZwiazane.
Nie udało się dodać powiązania z dokumentem. Błąd obsługi bazy (90) Obiekt główny serwera „fb1” nie jest w stanie uzyskać dostępu do bazy danych „TutajNazwaBazyDMS” przy bieżącym kontekście zabezpieczeń.
Czy ktoś się z tym spotkał ?
Dodam że user fb1,fb2,fb3 są podmapowani do bazy DMSowej oraz mają uprawnienia SELECT do tych tabel i z poziomu SQL wszystko pięknie działa
?
Re: Wiązanie dokumentów z obiegiem w DMS
sugerowałbym odpalenie profilera i sprawdzenie kto i pod jakim loginem/kontekstem w jakich uprawnieniach i rolach odpala ten trigger z Optimy i porównać to z wykonaniem testowej operacji w SQL, ta która działa.
prawdopodobnie jakiś security issue - trigger wykonuje się w kontekście użytkownika/roli innego, a nie w kontekście fb1
można też wymusić kontekst w wyzwalaczu i sprawdzić czy coś się zmieni
ALTER TRIGGER [nazwa_triggera]
ON [tabela]
WITH EXECUTE AS 'fb1'
FOR INSERT, UPDATE
prawdopodobnie jakiś security issue - trigger wykonuje się w kontekście użytkownika/roli innego, a nie w kontekście fb1
można też wymusić kontekst w wyzwalaczu i sprawdzić czy coś się zmieni
ALTER TRIGGER [nazwa_triggera]
ON [tabela]
WITH EXECUTE AS 'fb1'
FOR INSERT, UPDATE
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Wiązanie dokumentów z obiegiem w DMS
to już też próbowałem
WITH EXECUTE AS 'fb1'
i nie pomagało wygenerowało jedynie inny komunikat w ERP XL (nie Optimie
)
WITH EXECUTE AS 'fb1'
i nie pomagało wygenerowało jedynie inny komunikat w ERP XL (nie Optimie
Re: Wiązanie dokumentów z obiegiem w DMS
piszesz w grupie ERP Optima Warsztat dlatego założyłem że nie chodzi o XL.
sprawdź w profilerze kto wywołuje trigger
sprawdź w profilerze kto wywołuje trigger
--------------------------------
Pozdrawiam
WW
Pozdrawiam
WW
Re: Wiązanie dokumentów z obiegiem w DMS
Tu jest problem bo profiler nie pokazuje kto odpala triggera, jedynie LoginName jest uzupełniona kolumna loginem fb2, ale wszystkie fb1, fb2 i fb3 mają tak samo zmapowaną baze DMSową i SELECTY do wybranych tabel
Re: Wiązanie dokumentów z obiegiem w DMS
Linkujesz serwer sam do siebie i mapujesz te 3 loginy XLowe. Albo robisz sobie jakiś login i nadajesz uprawnienia do konkretnych tabel.

Myślę, że to może Ci pomóc

Myślę, że to może Ci pomóc
Re: Wiązanie dokumentów z obiegiem w DMS
Albo robisz sobie jakiś login i nadajesz uprawnienia do konkretnych tabel.
Rozwiniesz tą myśl ?
Rozwiniesz tą myśl ?
Re: Wiązanie dokumentów z obiegiem w DMS
Zobacz najpierw po SA czy Ci zadziała.
Teraz teoretyzuję, ale:
* Robisz nowy login SQL
* Dajesz na nim granty do tabel, które chcesz odczytywać/updateować itede itepe
* Podczas linkowania serwerów mapujesz loginy XL'owe nie na SA, tylko na ten nowo utworzony login (to co pokazałem na zrzucie ekranu).
Teraz teoretyzuję, ale:
* Robisz nowy login SQL
* Dajesz na nim granty do tabel, które chcesz odczytywać/updateować itede itepe
* Podczas linkowania serwerów mapujesz loginy XL'owe nie na SA, tylko na ten nowo utworzony login (to co pokazałem na zrzucie ekranu).
Re: Wiązanie dokumentów z obiegiem w DMS
Ale moment pierwsza ważna sprawa obie bazy DMSową jak i ERP XLową mam na tym samym serwerze SQL
Re: Wiązanie dokumentów z obiegiem w DMS
Tak - linkujesz serwer sam do siebie
Zapomniałem jeszcze wspomnieć, że potem się odwołujesz w zapytaniu w sposób:
NazwaZlinkowanegoSerwera.Baza.Schema.Tabela
Zapomniałem jeszcze wspomnieć, że potem się odwołujesz w zapytaniu w sposób:
NazwaZlinkowanegoSerwera.Baza.Schema.Tabela