Consulta con cursores...

24/08/2004 - 01:27 por Ernesto Ibarra | Informe spam
Hola a todos !!

Tengo un problema al intentar utilizar una tabla de un
servidor vinculado mediante un CURSOR. El problema es que
necesito utilizar ciertos campos de esta tabla
dinamicamente, por ejemplo

SALDO08 , ENTRO08 , SALIO08
SALDO[MES], ENTRO[MES], SALIO[MES]

Mediante un EXEC ('Consulta SQL') lo realizo, pero no se
como acceder al resultado del query mediante un CURSOR...

Mi pregunta es, es esto posible ?? o como podria
realizarlo ??

Le agradeceria mucho a quin pudiese ayudarme...

Saludos !!

Preguntas similare

Leer las respuestas

#1 ulises
24/08/2004 - 03:04 | Informe spam
Aprovechando que no veo a la Brigada Anticursores por
aquí ... una forma es creando una tabla temporal donde
grabes la información de la sentencia dinámica para luego
usarla dentro del cursor :

insert into tablatemporal exec sp_executesql @consultasql

pero usar cursores, sentencias dinámicas, tablas
temporales (y encima la conexión es contra un servidor
vinculado) en una misma tarea la hará candidata al T-SQL
más feo del año :), fuera de bromas creo que el
rendimiento de ese proceso será malísimo ... ¿no hay tra
forma de hacerlo? ¿se puede actualizar todo usando solo
sentencias dinámicas?.

Puedes contarnos todo el problema para ver si te podemos
ayudar con otro enfoque ...

Saludos,
Ulises

Hola a todos !!

Tengo un problema al intentar utilizar una tabla de un
servidor vinculado mediante un CURSOR. El problema es que
necesito utilizar ciertos campos de esta tabla
dinamicamente, por ejemplo

SALDO08 , ENTRO08 , SALIO08
SALDO[MES], ENTRO[MES], SALIO[MES]

Mediante un EXEC ('Consulta SQL') lo realizo, pero no se
como acceder al resultado del query mediante un CURSOR...

Mi pregunta es, es esto posible ?? o como podria
realizarlo ??

Le agradeceria mucho a quin pudiese ayudarme...

Saludos !!

.

Respuesta Responder a este mensaje
#2 Ernesto Ibarra
24/08/2004 - 03:45 | Informe spam
Ulises...

Antes que nada gracias por tu ayuda y la verdad que me
diverti con el comentario que me haces el T-SQL :)...

El problema que tengo es que estamos en un proceso de
migración de sistemas... donde gran parte de la
información se sigue almacenando en tablas DBF's...

El problema que tengo es que necesito actualizar tablas
DBF's que actualmente se encuentran en un sistema CLIPPER,
debido a que se desarrollo una una nueva aplicación que en
C# y SQL Server para una Pocket PC que esta recolectando
pedidos y al final necesito apartar la existencia de los
articulos relacionados... el pedido queda registrado con
un cierto status... donde posteriormente en el sistema
CLIPPER le dara continuidad al proceso...

Yo se que todo esto es un verdadero show... y no es lo
mejor que se puede hacer... Estoy en proceso de terminar
la nueva aplicación para sustituir el sistema CLIPPER.

Es por ello que en ocaciones tengo que acudir a Sentencias
dinamicas para poderme adaptar a las estructuras ya
definidas de las DBF's y a la vez poder interactuar con
las nuevas en SQL Server...



Aprovechando que no veo a la Brigada Anticursores por
aquí ... una forma es creando una tabla temporal donde
grabes la información de la sentencia dinámica para luego
usarla dentro del cursor :

insert into tablatemporal exec sp_executesql @consultasql

pero usar cursores, sentencias dinámicas, tablas
temporales (y encima la conexión es contra un servidor
vinculado) en una misma tarea la hará candidata al T-SQL
más feo del año :), fuera de bromas creo que el
rendimiento de ese proceso será malísimo ... ¿no hay tra
forma de hacerlo? ¿se puede actualizar todo usando solo
sentencias dinámicas?.

Puedes contarnos todo el problema para ver si te podemos
ayudar con otro enfoque ...

Saludos,
Ulises

Hola a todos !!

Tengo un problema al intentar utilizar una tabla de un
servidor vinculado mediante un CURSOR. El problema es




que
necesito utilizar ciertos campos de esta tabla
dinamicamente, por ejemplo

SALDO08 , ENTRO08 , SALIO08
SALDO[MES], ENTRO[MES], SALIO[MES]

Mediante un EXEC ('Consulta SQL') lo realizo, pero no se
como acceder al resultado del query mediante un CURSOR...

Mi pregunta es, es esto posible ?? o como podria
realizarlo ??

Le agradeceria mucho a quin pudiese ayudarme...

Saludos !!

.



.

Respuesta Responder a este mensaje
#3 Miguel Egea
24/08/2004 - 20:27 | Informe spam
jeje, adelante la brigada anticursores.
bueno, yo te propondría que hicieses el proceso asíncrono
y que no usases ahí servidores vinculados.

Tu app c# podría enviar las sentencias a SQL y además
generar un mensaje a una cola MSMQ. En esa cola puedes
programar un servicio windows que lea de la cola y aplique
lso cambios a los DBf's directamente.

También puedes utilizar un paquete DTS. Los data
Transformation services son lo más adecuado para la
relación que propones. Podrías ejecutar el Dts desde tu
código mediante dtsrun, y quizá sea una solución más
mantenible (en mi opinión la primera es más elegante).

De uno de los fundadores de la brigada anticursores :-D

Saludos
Miguel Egea

Ulises...

Antes que nada gracias por tu ayuda y la verdad que me
diverti con el comentario que me haces el T-SQL :)...

El problema que tengo es que estamos en un proceso de
migración de sistemas... donde gran parte de la
información se sigue almacenando en tablas DBF's...

El problema que tengo es que necesito actualizar tablas
DBF's que actualmente se encuentran en un sistema


CLIPPER,
debido a que se desarrollo una una nueva aplicación que


en
C# y SQL Server para una Pocket PC que esta recolectando
pedidos y al final necesito apartar la existencia de los
articulos relacionados... el pedido queda registrado con
un cierto status... donde posteriormente en el sistema
CLIPPER le dara continuidad al proceso...

Yo se que todo esto es un verdadero show... y no es lo
mejor que se puede hacer... Estoy en proceso de terminar
la nueva aplicación para sustituir el sistema CLIPPER.

Es por ello que en ocaciones tengo que acudir a


Sentencias
dinamicas para poderme adaptar a las estructuras ya
definidas de las DBF's y a la vez poder interactuar con
las nuevas en SQL Server...



Aprovechando que no veo a la Brigada Anticursores por
aquí ... una forma es creando una tabla temporal donde
grabes la información de la sentencia dinámica para




luego
usarla dentro del cursor :

insert into tablatemporal exec sp_executesql @consultasql

pero usar cursores, sentencias dinámicas, tablas
temporales (y encima la conexión es contra un servidor
vinculado) en una misma tarea la hará candidata al T-SQL
más feo del año :), fuera de bromas creo que el
rendimiento de ese proceso será malísimo ... ¿no hay tra
forma de hacerlo? ¿se puede actualizar todo usando solo
sentencias dinámicas?.

Puedes contarnos todo el problema para ver si te podemos
ayudar con otro enfoque ...

Saludos,
Ulises

Hola a todos !!

Tengo un problema al intentar utilizar una tabla de un
servidor vinculado mediante un CURSOR. El problema es




que
necesito utilizar ciertos campos de esta tabla
dinamicamente, por ejemplo

SALDO08 , ENTRO08 , SALIO08
SALDO[MES], ENTRO[MES], SALIO[MES]

Mediante un EXEC ('Consulta SQL') lo realizo, pero no






se
como acceder al resultado del query mediante un






CURSOR...

Mi pregunta es, es esto posible ?? o como podria
realizarlo ??

Le agradeceria mucho a quin pudiese ayudarme...

Saludos !!

.



.



.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida