Foros del Web » Programando para Internet » ASP Clásico »

XML a BD con parser ASP

Estas en el tema de XML a BD con parser ASP en el foro de ASP Clásico en Foros del Web. Tengo un archivo XML y deseo poder parsearlo con código ASP para insertar los datos en una base de datos. Estuve buscando alguna ayuda, pero ...
  #1 (permalink)  
Antiguo 19/06/2003, 01:42
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 8 meses
Puntos: 0
XML a BD con parser ASP

Tengo un archivo XML y deseo poder parsearlo con código ASP para insertar los datos en una base de datos.
Estuve buscando alguna ayuda, pero no encontré demasiado, sólo formas de hacer al revés, es decir, desde la base de datos general un XML. Si alguien tiene algo por ahí, lo voy a agradecer mucho.
La base es SQL Server (me resulta raro que no posea algo para importar un XML a la base directamente, o quizás no lo encontré yo).
Saludos, muchas gracias.

Encontré un componente (AspXML), voy a ver que es...
http://www.chilkatsoft.com/
En mi servidor no me permiten instalar componentes, así que no creo que vaya a poder usarlo, pero vamos a inspeccionar un poco a ver que tal es.
Igualmente, si alguien usa algo o sabe otra cosa, agradecería.
Saludos, gracias.
  #2 (permalink)  
Antiguo 19/06/2003, 14:28
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 10 meses
Puntos: 7
Bueno, SQL Server 2000 permite integracion con el XML. Te copio un extracto del help



Recuperar y escribir datos XML
Puede ejecutar consultas SQL para devolver resultados en formato XML en lugar de conjuntos de filas estándar. Estas consultas pueden ejecutarse directamente o desde los procedimientos almacenados. Para recuperar directamente los resultados, puede utilizar la cláusula FOR XML de la instrucción SELECT y especificar, dentro de la cláusula, un modo XML: RAW, AUTO o EXPLICIT.

Por ejemplo, la instrucción SELECT recupera información de las tablas Customers y Orders en la base de datos Northwind. Esta consulta especifica el modo AUTO en la cláusula FOR XML:

SELECT Customers.CustomerID, ContactName, CompanyName,
Orders.CustomerID, OrderDate
FROM Customers, Orders
WHERE Customers.CustomerID = Orders.CustomerID
AND (Customers.CustomerID = N'ALFKI'
OR Customers.CustomerID = N'XYZAA')
ORDER BY Customers.CustomerID

Mientras pueda utilizar la cláusula FOR XML para recuperar datos como un documento XML, también puede utilizar la función OPENXML de Transact-SQL para insertar datos representados como un documento XML. OPENXML es un proveedor de conjuntos de filas similar a una tabla o una vista, lo que proporciona un conjunto de filas en documentos XML en memoria. OPENXML permite el acceso a los datos XML como si fuera un conjunto de filas relacional mediante una vista del conjunto de filas de la representación interna de un documento XML. Los registros del conjunto de filas pueden almacenarse en tablas de base de datos. OPENXML puede utilizarse en instrucciones SELECT y SELECT INTO en el lugar de una tabla o una vista de origen.
__________________
No tengo firma ahora... :(
  #3 (permalink)  
Antiguo 19/06/2003, 14:34
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 8 meses
Puntos: 0
No había tenido en cuenta lo del OPENXML, lo voy a probar.
Saludos y gracias Mickel.

Última edición por DeLaVega; 19/06/2003 a las 14:38
  #4 (permalink)  
Antiguo 19/06/2003, 14:40
Avatar de Mickel  
Fecha de Ingreso: mayo-2002
Ubicación: Lima, Peru
Mensajes: 4.619
Antigüedad: 22 años, 10 meses
Puntos: 7
Revisalo otra vez, delavega... la idea de OPENXML es precisamente poder abrir un archivo XML para que lo puedas insertar. Cito:

"Recuperar documentos XML mediante FOR XML
Puede ejecutar consultas SQL con bases de datos relacionales existentes para devolver resultados como documentos XML en lugar de conjuntos de filas estándar. Para recuperar directamente los resultados, puede utilizar la cláusula FOR XML de la instrucción SELECT y, dentro de la cláusula, especificar un modo XML"
__________________
No tengo firma ahora... :(
  #5 (permalink)  
Antiguo 19/06/2003, 14:45
 
Fecha de Ingreso: julio-2002
Mensajes: 447
Antigüedad: 22 años, 8 meses
Puntos: 0
Si, gracias Mickel, ya me había dado cuenta y modifiqué mi mensaje
Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:32.