Avatar billede mosquito Nybegynder
27. oktober 2006 - 14:23 Der er 5 kommentarer og
1 løsning

hent sql streng fra stored procedure

Til log skal jeg bruge sql fra min stored procedure. Hvis jeg bruger commandobject.CommandText property får jeg navnet på min stored procedure.

Findes der en metode hvor jeg kan parse denne commandtext til den sql streng med input parametre som der genereres ved kaldet? I så fald hvordan?

Bruger firebird db, men formoder ikke det gør nogen forskel fra ms sqlserver.
Avatar billede arne_v Ekspert
27. oktober 2006 - 14:25 #1
Det kan jeg ikke forestille mig at du kan, da den resukterende SQL formentligt ikke findes
som text
Avatar billede mosquito Nybegynder
27. oktober 2006 - 14:36 #2
jeg har heller ikke haft held med at finde noget på nettet vedr det jeg ser som et problemet, men jeg lader spørgsmålet stå åben weekenden over.
Avatar billede ultik Nybegynder
27. oktober 2006 - 14:44 #3
På MS SQL Server har du en stored procedure der hedder sp_helptext. Denne kan give dig den originale kilde for det CREATE PROC kald der oprettede sp'en ved det givne navn. Om lignende findes på firebird db kan jeg ikke hjælpe dig med desværre.

Det lyder også som om det du ønsker er at få fat i den præcise ekserkveringsplan for kaldet. Det kan muligvis lade sig gøre med SQL Server, men jeg er ikke sikker. Om du kan med firebird, er nok endnu mere tvivlsomt.
Avatar billede driis Nybegynder
27. oktober 2006 - 17:30 #4
Det er lidt uklart, hvad du ønsker:
Er det
1) Den SQL kommando, som ADO.NET bruger til at eksekvere din SP, f.eks.
EXEC yourStoredProcedure @ItemID=123, @Stuff=NULL
2) Eller, som ultik foreslår, hele definitionen af den stored procedure, eller eksekveringsplan for denne ?
Avatar billede mosquito Nybegynder
29. oktober 2006 - 22:11 #5
driis: execute procedure SP_HENT_BRUGER - proceduren medtager en parameter @BRUGERID.
Jeg har brug for den sql som SP_HENTBRUGER eksekverer.. ex. 'select navn, email from bruger where brugerid=564'

Min log skal se sådan ud:
'select navn, email from bruger where brugerid=564'

ikke sådan:
'EXECUTE PROCEDURE SP_HENTBRUGER (@BRUGERID)'
Avatar billede mosquito Nybegynder
31. oktober 2006 - 11:07 #6
takker for kommentarerne. Lukker spørgsmålet og accepterer at der ikke umiddelbart findes en simpel løsning.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester