Problema para obtener un recordset desde un sp con tabla temporal

08/03/2006 - 19:10 por CHAR72 | Informe spam
Pues que me estoy volviendo mono !!!!

Tengo el siguiente sp:

Create procedure sp_prueba as
CREATE TABLE #X
(X VARCHAR(10))

INSERT INTO #X (X) VALUES ('XX')

SELECT * FROM #X

Luego intento desde ASP o VB6 lo siguiente:

Dim cn As New Connection, rst As New Recordset

cn.open "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User
ID=sa;Initial Catalog=PRUEBA;Data Source=PC01"
rst.open "sp_prueba",cn
if rst.eof then ..y me da el error que "la operacion no esta permitida
si el objeto esta cerrado"
end if


si modifico el sp por:

ALTER procedure sp_prueba as
select x='xx'

funciona perfecto, evidentemente es un problema con las tablas temporales,
pero como se resuelve ?


Saludos
 

Leer las respuestas

#1 CHAR72
08/03/2006 - 23:00 | Informe spam
Me respondo a mi mismo:

SET NOCOUNT ON

"CHAR72" <char72[nos pa m]@gmail.com> escribió en el mensaje
news:
Pues que me estoy volviendo mono !!!!

Tengo el siguiente sp:

Create procedure sp_prueba as
CREATE TABLE #X
(X VARCHAR(10))

INSERT INTO #X (X) VALUES ('XX')

SELECT * FROM #X

Luego intento desde ASP o VB6 lo siguiente:

Dim cn As New Connection, rst As New Recordset

cn.open "Provider=SQLOLEDB.1;Password=;Persist Security Info=True;User
ID=sa;Initial Catalog=PRUEBA;Data Source=PC01"
rst.open "sp_prueba",cn
if rst.eof then ..y me da el error que "la operacion no esta
permitida si el objeto esta cerrado"
end if


si modifico el sp por:

ALTER procedure sp_prueba as
select x='xx'

funciona perfecto, evidentemente es un problema con las tablas temporales,
pero como se resuelve ?


Saludos



Preguntas similares