Sql mailing databse wijziging ERP

Status
Niet open voor verdere reacties.

barendrecht82

Gebruiker
Lid geworden
24 mrt 2013
Berichten
230
Hoi allemaal,

Ik weet niet of ik wel bij de juiste topic ben, maar ik zoek eigenlijk het volgende.

Bij mijn vorige werkgever hadden wij een "alert" systeempje opgezet (lees ik niet, maar die zat er al in). Het ging om het volgende:

Indien er een bankrekening of een nieuwe crediteur was aangemaakt in de ERP systeem dan kregen een X aantal mensen (bevoegden) een mailtje zodat zij konden controleren of dit wel juist was. De database stond natuurlijk op de server van het bedrijf. Ik weet dat er op de sql server ook een SQL iets was gemaakt die opdracht gaf. Die maakte dus continue verversingen. Als er een hit was werd die dan door gemaild naar de bevoegde mensen. De mailadressen stonden ook in het SQL berekening.

Mijn vraag is. Hoe kan ik zo iets optuigen? Wat heb ik nodig? Hoe heet dit uberhaupt?

Thanks :cool:
 
Dat is vrij eenvoudig aan te maken. Je zou het kunnen doen via een trigger maar dat raad ik af omdat het de performantie van je systeem serieus naar beneden haalt. Bovendien zorgen triggers vaak voor problemen in de front end applicaties.
Het eenvoudigste is om een job aan te maken die bv. om het kwartier de tabellen gaat scannen of er nieuwe bankrekeningen/crediteurs zijn aangemaakt en als dit zo is een lijst van deze nieuwe accounts doorstuurt. Hiervoor moet wel de SQL mail correct geïnstalleerd zijn, maar aangezien de mailadressen op je SQL server beschikbaar zijn, is dit waarschijnlijk zo. Wel even checken.
Ik schat met testen +/- 2 uurkes werk.
 
Laatst bewerkt:
Praten we over een professionele omgeving of wil je eea puur op proberen te zetten uit interesse?

Tardis
 
Ik krijg dus foutmeldingen zie bijlage. Dat komt natuurlijk dat mijn command onjuist is. hoe stel ik dit goed? Ik heb een datatabel die heet dbo.humres die moet hij mij mailen..

nr 1.png
 
Hoi,

een tabel kan je inderdaad niet uitvoeren. Het commando exec wordt gebruikt om een SQL procedure uit te voeren, en deze kan dan wel (mits de juiste instructies natuurlijk) een mail sturen.
Je kan de codelijnen van de proc ook rechtstreeks in de job step zetten, voorbeeld:

Code:
create table ##DailyFile (
                Filedate [varchar](8)
                , Reference [varchar](10)
                , MainText [varchar](max)
                            )

Insert into ##DailyFile
Select format(Getdate(),'yyyyMMdd'), MyRef, MyText 
from MyTable 

declare @Filename nvarchar(100)
select @Filename = 'MyFileName' + format(getdate(),'yyyyMMdd') + '.txt';
EXEC msdb.dbo.sp_send_dbmail
                @profile_name = 'SQLserver',
                @recipients = 'Person1@myDomainName.com',
                @reply_to = MyEmailAddress@myDomainName.com',
                @subject = 'Daily Data from ….',
                @Body = 'Please find herewith enclosed a file with the daily data, 
                @query = N' SET NOCOUNT ON;               Select * from ##DailyFile',
                @attach_query_result_as_file = 1,
                @query_result_header = 0,
                @query_attachment_filename = @Filename,
                @Query_result_separator = ';',
                @exclude_query_output = 1;
                drop table ##DailyFile
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan