[ batalule @ 10.11.2006. 10:31 ] @
Situacija je sledeca:
Imam neki program koji radi sa MSSQL bazom. U toj bazi ima tabela Customers gde se upisuju podaci o klijentima. Napravio sam triger za insert i update nad tom tabelom i hteo bih da mi taj triger pokrene neki exe i da mu prosledi @@Identity kao parametar i ip klijenta. Kako da izvedem da mi triger pokrene npr. "C:\Program Files\Neki Program\Program.exe '2343', '10.0.0.15'" tj da mu prosledi parametar koji daje @@Identity(u ovom primeru 2343) i ip adresu klijenta koji radi insert ili update. Ovo bi moglo da se uradi preko sp_OACreate gde bih kreirao neki COM, postavio mu CustomerId svojstvo na 2343 i ClientIp na '10.0.0.15' (btw koja varijabla vraca IP klijenta?) i pozvao neku njegovu metodu koja bi uradila ShellExecute sa ovim parametrima ali mi se cini da bi morao biti neki jednostavniji nacin.
[ logic_rabbit @ 10.11.2006. 11:10 ] @
Mozda da u SQL Serveru koristis EXEC xp_cmdshell
za pokretanje doticnog fajla?
Primeri>
exec master.dbo.xp_cmdshell 'osql -E -Sserver1 -i c:\temp\nightly.sql'
exec master.dbo.xp_cmdshell 'copy c:\temp\doesnotexist.txt c:\temp\workfile.txt'

Mozda da pokrenes neki batch fajl sa ovom komandom ako se ne moze direktno pokrenuti exe?
[ Fedya @ 10.11.2006. 11:57 ] @
Citat:
logic_rabbit: Primeri>
exec master.dbo.xp_cmdshell 'osql -E -Sserver1 -i c:\temp\nightly.sql'
exec master.dbo.xp_cmdshell 'copy c:\temp\doesnotexist.txt c:\temp\workfile.txt'

Mozda da pokrenes neki batch fajl sa ovom komandom ako se ne moze direktno pokrenuti exe?


Kako mislis ne moze pokrenuti EXE?? Pa ti si u oba svoja primera izvrsio exe (osql.exe i copy.exe) fajl.
[ logic_rabbit @ 10.11.2006. 12:59 ] @
Ma mislio sam zbog onih parametara '2343', '10.0.0.15'" koje je stavio ali trebalo bi moci premda nisam radio sa doticnom komandom nesto preterano.
[ batalule @ 11.11.2006. 10:46 ] @
Hvala
jos jedno pitanjce:
Kako da jos 'dohvatim' IP klijenta SYSTEM_USER vraca domain\user a meni treba IP. Bice da ima negde u sistemskim tabelama ali ja ne umem da nadjem?