Leer tabla temporal en procedimiento almacenado.

10/11/2003 - 20:56 por Tomás | Informe spam
Hola a todo el grupo.

Tengo un problema que no consigo resolver. Necesito leer los datos de un
procedimiento almacenado que se ejecuta en un servidor SQL Server 2000 que,
después de muchas funciones, me devuelve el resultado guardado en una tabla
temporal de la siguiente forma:

SELECT * FROM #TEMP

Desde mi aplicación en VC++.NET, utilizo ADO, (resumido), de la siguiente
forma:

_ConnectionPtr pConn;
_RecordsetPtr pRset;
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection = pConn;
pCommand->CommandText = "MiProcedimiento";
pCommand->CommandType = adCmdStoredProc;
pRset = pCommand->Execute(NULL,NULL,adCmdStoredProc);

Este conjunto de datos (pRset), no contiene nada cuando regresa de ejecutar
la consulta al procedimiento almacenado.

Sin embargo, si el procedimiento almacenado es un SELECT a una tabla que
exista en la base de datos, funciona perfectamente, este ejemplo funciona:

SELECT * FROM MI_TABLA

El problema que tengo es que necesito hacer muchos trabajos de selección de
muchas tablas, que se resumen en una temporal y luego hacer un solo SELECT
de esta tabla temporal que es la que utilizo en mi aplicación.

¿Alguien sabe como se puede conseguir leer los datos de un procedimiento
almacenado que devuelve los datos de una tabla temporal?.

Gracias por anticipado.

Tomás.
 

Leer las respuestas

#1 Diego Uribe
11/11/2003 - 16:51 | Informe spam
Ensaya a leerla no con #temp sino con ##temp

Deberia funcionar!

Diego


"Tomás" escribió en el mensaje
news:
Hola a todo el grupo.

Tengo un problema que no consigo resolver. Necesito leer los datos de un
procedimiento almacenado que se ejecuta en un servidor SQL Server 2000


que,
después de muchas funciones, me devuelve el resultado guardado en una


tabla
temporal de la siguiente forma:

SELECT * FROM #TEMP

Desde mi aplicación en VC++.NET, utilizo ADO, (resumido), de la siguiente
forma:

_ConnectionPtr pConn;
_RecordsetPtr pRset;
_CommandPtr pCommand;
pCommand.CreateInstance(__uuidof(Command));
pCommand->ActiveConnection = pConn;
pCommand->CommandText = "MiProcedimiento";
pCommand->CommandType = adCmdStoredProc;
pRset = pCommand->Execute(NULL,NULL,adCmdStoredProc);

Este conjunto de datos (pRset), no contiene nada cuando regresa de


ejecutar
la consulta al procedimiento almacenado.

Sin embargo, si el procedimiento almacenado es un SELECT a una tabla que
exista en la base de datos, funciona perfectamente, este ejemplo funciona:

SELECT * FROM MI_TABLA

El problema que tengo es que necesito hacer muchos trabajos de selección


de
muchas tablas, que se resumen en una temporal y luego hacer un solo SELECT
de esta tabla temporal que es la que utilizo en mi aplicación.

¿Alguien sabe como se puede conseguir leer los datos de un procedimiento
almacenado que devuelve los datos de una tabla temporal?.

Gracias por anticipado.

Tomás.


Preguntas similares