Convertir Cursor a Xml y pasarlo como parámetro a un procedimiento almacenado sql

416 views
Skip to first unread message

william alexander cadavid gonzalez

unread,
Apr 19, 2016, 11:33:44 AM4/19/16
to Comunidad de Visual Foxpro en Español
De ante mano muchas gracias,

Necesito pasarle como parametro a un procedimiento almacenado un xml.

Tengo un cursor fox con una columna y n_registros, necesito convertir ese curso en un XML para pasarlo a un procedimiento almacenado

El curso tiene esta información.

452691
452690
452697
452698
452699
452685
452674
452663
452601
452591
453691
472691
462691
486764
496764
446764
456864
456364

Víctor Hugo Espínola Domínguez

unread,
Apr 19, 2016, 12:18:55 PM4/19/16
to publice...@googlegroups.com
SGBD?


Saludos,
Víctor.
Lambaré - Paraguay.

william alexander cadavid gonzalez

unread,
Apr 19, 2016, 1:15:12 PM4/19/16
to Comunidad de Visual Foxpro en Español
SQL server 8.0

Víctor Hugo Espínola Domínguez

unread,
Apr 19, 2016, 2:19:54 PM4/19/16
to publice...@googlegroups.com
Otra información necesaria es qué hace o pretende hacer el SP con el xml, desde ya te anticipo que el resultado de la función CURSORTOXML() no puede ser interpretado por SqlServer, deberías escribir tu propia función para eso.

En VFP debes armar a base de código tuyo el xml esperado por el SP.

Si pasas el código del SP te podríamos dar alternativas al uso de xml, pero si el SP no puedes obviarlo o modificarlo este artículo de mi tocayo te será útil: http://vespina.blogspot.com/search/label/SQL%20Server
 

Saludos,
Víctor.
Lambaré - Paraguay.


Ariel Octavio D'Alfeo

unread,
Apr 19, 2016, 2:30:03 PM4/19/16
to publice...@googlegroups.com
Cual la función de pasar el cursor? es para un Select? se podría hacer de otra forma
--

Ariel Octavio D'Alfeo
Córdoba, Argentina

william alexander cadavid gonzalez

unread,
Apr 19, 2016, 3:05:24 PM4/19/16
to Comunidad de Visual Foxpro en Español
Te cuento tengo un archivo de excel con varias columnas y n registros, la idea es convertir ese archivo de excel en un XML para pasarlo como parámetro a un SP y dentro del sp lo que hago es consultar cada resigtro en la BD.


El martes, 19 de abril de 2016, 10:33:44 (UTC-5), william alexander cadavid gonzalez escribió:

Víctor Hugo Espínola Domínguez

unread,
Apr 19, 2016, 3:10:22 PM4/19/16
to publice...@googlegroups.com
Ese SP lo harás o ya lo tienes?, en caso de que ya lo tengas muestra el código y si no muestra los datos de la planilla y que proceso le quieres dar en SqlServer.


Saludos,
Víctor.
Lambaré - Paraguay.


Ariel Octavio D'Alfeo

unread,
Apr 19, 2016, 3:12:12 PM4/19/16
to publice...@googlegroups.com
y no podrías consultar todos los registros juntos?, Ej. si pasamos en vez de un cursor un String con la cadena

Exec mySp  @misid= "452691,452690,452697,452698,452699"


y en el Sp 

Alter Proc mySp
@misid text
as
declare @lcSql as text
Begin
set @lcSq="Select  *from mi_tabla where id in (" +  @misid +")"

Exec(@lcSq)
END


Es medio pseudocodigo, debe tener errores, pero es la idea

mpulla

unread,
Apr 19, 2016, 7:12:54 PM4/19/16
to Comunidad de Visual Foxpro en Español
Hola Victor.

Sql Server puede interpretar el xml generado por CursorToXml(), Mi SqlServer no arranca no puedo mandar un ejemplo, en todo caso mira este link

Saludos.
Mauricio

Víctor Hugo Espínola Domínguez

unread,
Apr 19, 2016, 9:33:11 PM4/19/16
to publice...@googlegroups.com
👍

Saludos,
Víctor.
Lambaré - Paraguay.


Reply all
Reply to author
Forward
0 new messages