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.

 

Responder a