Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Come posso implementare questa feature con SQL Server 2005?
giovedì 18 giugno 2009 - 10.45
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
advapi
Profilo
| Newbie
10
messaggi | Data Invio:
gio 18 giu 2009 - 10:45
Ciao a tutti,
scusate se vi distrubo, è da ieri che sto sbattendo dietro questo problema ma non riesco a venirne a capo... io ho una store procedure che accetta 5parametri di tipo varchar(128) come parametri di ingresso, questa store viene utilizzata da un webservice per mascherare l'accesso al DB diretto con l'utilizzo di un WebService .NET. La mia store procedure dovrebbe fare da interfaccia interrogando altre tabelle e chiamare a sua volta altre store procedure evitando l'accesso diretto a queste in base a criteri di autenticazione gestiti a livello di webservice.
Considerate la store procedure INTERFACCIA(@P1 varchar(128), @P2 varchar(128),@P3 varchar(128),@P4 varchar(128),@P5 varchar(128))
Per adesso possiamo considerare la tabella StoreProcedureName dove sono contenuti i nomi delle store procedure e la tabella StoreProcedureDetail dove è specificato il tipo di parametro e il nome)
visto che i 5 parametri sono fissi ma le store procedure richiamate possono avere un numero minore di parametri, devo ciclare con un indice sul numero di parametri presenti nella StoreProcedureDetail e prendere in considerazione il numero di parametri dati, questo lo faccio all'interno dell'esecuzione di un cursore che cicla sulla StoreProcedureDetail in questo modo :
OPEN ParamCursor
FETCH NEXT FROM ParamCursor into @SP_PARAM_NAME, @SP_PARAM_TYPE
WHILE @@FETCH_STATUS = 0
BEGIN
set @paramCount = @paramCount + 1
declare @tmp varchar(20)
set @tmp = '@P'+ CAST(@paramCount AS varchar(10))
print @tmp
set @SQL = @SQL + N' ' +N'@' + @SP_PARAM_NAME + N'='
FETCH NEXT FROM ParamCursor into @SP_PARAM_NAME, @SP_PARAM_TYPE
END
Quello che avrei bisogno di fare è di andare a leggere il valore contenuto in @P + indice ... esiste un modo? in C# avrei utilizzato la reflection, l'unico modo che mi viene attualmente in mente è quello di fare un case switch ma se il numero di parametri dovesse crescere sarei in difficoltà...
Grazie ciao
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !