Wysyłanie emaila z CDN XL

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

marceynowa
Posty: 347
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Wysyłanie emaila z CDN XL

Post autor: marceynowa »

Czy jest szansa na to aby pod wykrzyknik podpiąć procedurę, która wyśle emaila korzystając z DBMAIL w SQL2005? Z poziomu SQL nie ma problemu, natomiast tworząc procedurę, którą uruchamia użytkownik CDN XL(czyli rola CDN), powstaje problem braku uprawnień do bazy msdb, w której zawarta jest procedura sp_send_dbmail. Cały problem aby rolę CDN uwierzytelnić w bazie msdb, próbowałem to zrobić ale bez efektu.

Awatar użytkownika
TrunX
Posty: 75
Rejestracja: 05 maja 2008, 12:43
Rola: Konsultant CDN XL
Lokalizacja: wilkopolskie

Re: Wysyłanie emaila z CDN XL

Post autor: TrunX »

Rola CDNRaporty. Przetestuj to.

marceynowa
Posty: 347
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Wysyłanie emaila z CDN XL

Post autor: marceynowa »

Chyba potrzebuję bardziej szczegółowej instrukcji. Na razie wszystkie moje próby nie dały efektu.

Awatar użytkownika
TrunX
Posty: 75
Rejestracja: 05 maja 2008, 12:43
Rola: Konsultant CDN XL
Lokalizacja: wilkopolskie

Re: Wysyłanie emaila z CDN XL

Post autor: TrunX »

Jakkolwiek by nie było, rolą, która jest używana przy np. takich wykrzyknikach jest CDNRaporty. Poczty w sqlu używam aktualnie tylko do maintaince plans, w 2000 posługiwałem się zewnętrznym programem i xp_cmdshell (poczta w 2000 to porażka była ;).

Co robiłeś i nie zadziałało?

marceynowa
Posty: 347
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Wysyłanie emaila z CDN XL

Post autor: marceynowa »

Cały problem polega na tym, że pod wykrzyknik podpinam procedurę SQL, która pobiera z KntKarty email kontrahenta, i korzystając z dbmail wysyła email o ustalonej na stałe treści. Wywołanie procedury w Managerze i ręczne wpisanie Knt_GIDNumer daje spodziewany rezultat, natomiast po skorzystaniu z wykrzyknika dostaję informację o braku praw dla roli CDNRaporty do procedury sp_send_dbmail. Poszukałem kilku artykułów, które opisują jak usera z innej bazy uwierzytelnić w innej bazie, ale nie potrafię tego przełożyć na konkretny przykład. Nie mam serwera testowego, a nie chcę wszystkich testó robić na serwerze roboczym.

Przemek
Posty: 292
Rejestracja: 22 kwie 2008, 20:08
Rola: Konsultant CDN XL
Lokalizacja: Kraków
Kontakt:

Re: Wysyłanie emaila z CDN XL

Post autor: Przemek »

Ustaw uprawnienia roli CDNRaport do execute twojej procedury. (w management studio klikając prawym klawiszem na tą procedurze itd.)
--
Pozdrawiam
Przemysław Lepiarz
CEO, Partner - Futuriti
https://futuriti.pl
https://blog.futuriti.pl

Chcesz wdrażać, serwisować i rozwijać Comarch ERP? Nasze rekrutacje: https://futuriti.pl/kariera

marceynowa
Posty: 347
Rejestracja: 29 lut 2008, 11:27
Rola: Administrator CDN XL
Wersja: 2022
Lokalizacja: Gdynia

Re: Wysyłanie emaila z CDN XL

Post autor: marceynowa »

PRzygotowałęm procedurę SQL:

Kod: Zaznacz cały

CREATE [CDN].[Test_SendEmail]
AS

BEGIN
EXEC msdb..sp_send_dbmail @profile_name = 'test', @body = 'test', @subject ='test', @recipients ='test@test.com.pl'
END
Uruchomiona procedura z poziomu SQL Server MAnagment Studio wysyła emaila.

Utworzyłem w CDN XL szybki raport SQL:

Kod: Zaznacz cały

EXEC [CDN].[Test_SendEmail]
Nadałem uprawnienia do procedury dla CDNRaport.

Wywołanie wykrzyknika daje komunikat o błędzie:
The EXECUTE permission was denied on the object 'sp_send_dbmail', database 'msdb', schema 'dbo'.

Ani CDN, ani CDNRaport nie mają uprawnień do procedur bazy msdb. I nie mam zielonego pojęcia jak dodać takie uprawnienie.

timo
Posty: 84
Rejestracja: 19 maja 2008, 14:42
Rola: Administrator CDN XL
Wersja: 9.7
Lokalizacja: Małopolskie

Re: Wysyłanie emaila z CDN XL

Post autor: timo »

Nie wiem z którego loginu korzysta dokładnie CDN przy szybkim raporcie (nie mylić z użytkownikiem czy rolą) możesz na wszelki wypadek dodać dwóch użytkowników do bazy msdb dla loginów CDNXL oraz CDNXLADO rola i schemat DatabaseMailUserRole. Druga rzecz w profilu którego będziesz używał do wysyłania (profile security) musisz dać uprawnienia tym użytkownikom (zakładka private profiles).

ODPOWIEDZ