El código que sigue funciona siempre que la SP sea simple es decir que no tenga
código dinámico o de tablas temporales:
SET NO_BROWSETABLE ON; SET FMTONLY ON;
exec MySPName @param1 = null. param2 = null .....
//aca tenes que poner nombre de la SP y la lista de todos los parametros que
recuperaste asignandoles null
SET FMTONLY OFF; SET NO_BROWSETABLE OFF;
podes probarlo de la siguiente manera:
creas una tabla por ejeplo :
create table tabla (campo datetime)
creas una SP
create procedure TABLA_INSERT
as
insert into tabla values (getdate())
select * from tabla
go
si ejecutas exec TABLA_INSERT vas a ver que se inserta un registro en cada
CORRIDA
pero si haces:
SET NO_BROWSETABLE ON; SET FMTONLY ON;
exec TABLA_INSERT
SET FMTONLY OFF; SET NO_BROWSETABLE OFF;
y luego
select * from tabla
vas a ver que te devuelve el resultado sin correr la SP, si el resultado lo
pones para que te lo devuelva en un dataset obtenes el esquema de lo que
retorna (campos y tipos)
De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Ignacio Ayerbe
Enviado el: Wednesday, September 03, 2008 2:43 PM
Para: [email protected]
Asunto: [puntonet] Obtener Schema de ResulSet de Stored Procedure
Buenos días Listeros, necesito hacer una aplicación sencilla que pueda
conectarme a una base de datos, obtener los diferentes Stored Procedures y sus
parámetros de entrada, y necesitaría por ultimo (que es la parte que no puedo
encontrar) una forma de obtener los diferentes ResulSet de un SP con los
nombres de columnas y tipos.