03. juli 2003 - 10:37Der er
6 kommentarer og 1 løsning
styre en applikation ved hændelse i MS SQL
Kan man på forholdsvis enkel måde få en MS SQL server til at køre et program, f.eks. en bat-fil, hver gang en bestemt tabel opdateres? (Kun point til svaret 'ja' og en forståelig brugsanvisning, som er nem at implementere.) Eksempel: I en ordretabel opdateres eller oprettes en ordrelinie fra f.eks. ODBC. Når det sker, skal en batfil køres.
Virksomheder er på vej fra store sprogmodeller, der svarer på spørgsmål, til AI-agenter, der kan udføre opgaver på egen hånd. Det gør teknologien mere nyttig – og langt mere risikabel.
Der kan ikke svares ubetinget ja på et sådant spørgsmål - det springende punkt er "på forholdsvis enkel måde". Hvad der er enkelt for en er ikke nødvendigvis enkelt for en anden.
Desuden må du ikke på forhånd sige, at du kun giver points til svaret ja - hvad hvis nu, dit spørgsmål ikke kan besvares med ja? Hvis jeg nu opretter spørgsmålet "Kan jeg få lov at se kildekoden til MS SQL Server 2000. Jeg giver kun points for svaret ja", så vil jeg aldrig komme af med de points.
Omkring dit spørgsmål, så vil jeg pege på triggere i forbindelse med f.eks den extended stores procedure xp_cmdshell til afvikling af en bat-fil.
create trigger OrdreOpdateringEllerOprettelse after insert, update as exec master..xp_cmdshell 'Navn.bat'
Jeg kan godt forstå synspunktet. Det jeg tænkte på, var svar, der ikke kan bruges til noget, og derfor er lidt overflødige. Det du skriver lyder som noget af det rigtige! Det er MS SQL 2000 og det ligger på en Windows 2000 (terminal)server. Kan man bare gå ind under tabellen og oprette en trigger? Og hedder det noget andet end xp_cmdshell, når det ikke er xp?
Jeg kom åbenbart til at trykke svar, da jeg kommenterede dit første svar. Nu har jeg forsøgt, men foreløbig ser det ikke ud som om der sker noget. Der er ingen syntaksfejl, men filen bliver tilsyneladende heller ikke eksekveret.
Og så husk lige at det ikke er sikkert at du kan få rettigheder til at anvende xp_cmdshell på dine kunders SQL Server. Hvis man kan udføre xp_cmdshell, kan man jo "komme til" at 1) formatere c: 2) se andre servere i netværket (og formattere disses c:) mvh Henrik
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.