Vous êtes sur la page 1sur 7

Practica para la creacin de un archivo XML en sql server 2008, sin uso de servidores ASP. 1.

Abrir sql server 2008. 2. En la ventana Conectar con el servidor: 3. En server Type: Database Engine. 4. En Server name: nombre del servidor o localhost 5. En Authentication: Windows Authentication 6. Seleccionar: Connect o conectar. 7. Seleccionar: la carpeta Databases 8. Con File, New, Query o en el boton New Query en el men de botones. 9. Del lado derecho en el rea de trabajo de la consulta insertar el siguiente cdigo para crear una base de datos y una tabla:

/* Crear la base de datos PruebasXML */

CREATE DATABASE PruebasXML

GO

USE PruebasXML

GO

/* Crear la tabla Empleados */

CREATE TABLE Empleados

IdEmpleado int IDENTITY(1, 1) PRIMARY KEY,

Nombre varchar(20),

Apellido1 varchar(20),

Apellido2 varchar(20),

FechaNacimiento datetime

GO

/* Insertar algunos registros */

INSERT INTO Empleados VALUES ('Jorge', 'Martnez', 'Garca', '19760703')

INSERT INTO Empleados VALUES ('Pedro', 'Lpez', 'Valle', '19680319')

INSERT INTO Empleados VALUES ('Luis', 'Iglesias', 'Gonzlez', '19961107')

INSERT INTO Empleados VALUES ('Alfredo', 'Muiz', 'Surez', '19790901')

INSERT INTO Empleados VALUES ('Sergio', 'Rodrguez', 'Alvarez', '19810430')

INSERT INTO Empleados VALUES ('Rafael', 'Fuentes', 'Aranda', '19661022')

INSERT INTO Empleados VALUES ('Miguel', 'Arias', 'Gmez', '19700101')

GO 10. Presiones Ejecutar 11. Del lado izquierdo en el explorador de Objetos hacer click sobre la carpeta Databases , Presionar f5 sobre el rea de Object Explorer para actualizar la creacin de la nueva base de datos y su tabla. 12. File, Save As: indicar la ruta y el nombre para guardar el scritp. 13. Sobre la nueva base datos con click derecho, elegir: New Query y poner el siguiente cdigo:

CREATE PROCEDURE spInformeEmpleados @TextoXML varchar(2000) AS

SET NOCOUNT ON

DECLARE @DocXML int

/* Cargar el documento XML del texto del argumento @TextoXML */

EXEC sp_xml_preparedocument @DocXML output, @TextoXML

/* Seleccionar los registros de la tabla Empleados cuyo campo IdEmpleado est incluido

en el nodo <empleados/empleado/IdEmpleado> del documento XML */

SELECT * FROM Empleados WHERE IdEmpleado IN (

SELECT IdEmpleado FROM OpenXML(@DocXML, 'empleados/empleado') WITH (IdEmpleado int)

) ORDER BY Apellido1, Apellido2

/* Destruir el documento XML y liberar memoria */

EXEC sp_xml_removedocument @DocXML

SET NOCOUNT OFF

14. Presionar el botn Execute o ejecutar. 15. File, Save As: indicar la ruta y el nombre para guardar el scritp. 16. Enseguida con click derecho sobre nuestra base de datos elegimos: New Query y ponemos el siguiente cdigo:

CREATE TABLE tablaXML ( ID int not null identity, DOC xml null, constraint PK_tablaXML PRIMARY KEY (ID) )

GO

DECLARE @xml xml -- Variable de tipo XML

-- Leemos los datos de la tabla empleados SET @xml = (SELECT Empleados.IdEmpleado, Empleados.Nombre, Empleados.Apellido1 FROM Empleados FOR XML AUTO)

-- y los guardamos en nuestra tabla INSERT INTO tablaXML (DOC) VALUES (@xml)

-- Consultamos la tabla y vemos el resultado SELECT * FROM tablaXML

17. Presionar el botn Execute o ejecutar 18. Del lado izquierdo sobre la base de datos creada (pruebasXML) o sobre la carpeta Databases vuelva a presionar f5 para actualizar la tabla tablaXML . 19. File, Save As: indicar la ruta y el nombre para guardar el scritp. 20. (En caso de no visualizar los datos) Con click derecho sobre la base de datos: New Query escriba el siguiente cdigo:

SELECT * FROM tablaXML

para ver la nueva presentacin de los datos una vez que se actualiz la tabla tablaXML con f5.

21. File, Save As: indicar la ruta y el nombre para guardar el scritp. 22. Luego se presiona click sobre la liga que aparece abajo del script en la ventana de resultados de la consulta para ver los datos con el editor xml. 23. En File, Save As: indicar la ruta y el nombre para guardar archivo con los datos xml. 24. El archivo con los datos xml es el que podr ser visualizado por otras aplicaciones (Excel, Word, bloc de notas, etc) gracias al formato XML. 25. Opcionalmente puede crear el script del archivo xml: En la parte superior debajo de New Query aparece el botn Crear Esquema (es el primero) este genera el script del archivo con los datos en formato xml. 26. En File, Save As: indicar la ruta y el nombre para guardar archivo del script.

Nota: se genera una archivo como este:


<Empleados IdEmpleado="1" Nombre="Jorge" Apellido1="Martnez" /> <Empleados IdEmpleado="2" Nombre="Pedro" Apellido1="Lpez" /> <Empleados IdEmpleado="3" Nombre="Luis" Apellido1="Iglesias" /> <Empleados IdEmpleado="4" Nombre="Alfredo" Apellido1="Muiz" /> <Empleados IdEmpleado="5" Nombre="Sergio" Apellido1="Rodrguez" /> <Empleados IdEmpleado="6" Nombre="Rafael" Apellido1="Fuentes" /> <Empleados IdEmpleado="7" Nombre="Miguel" Apellido1="Arias" />

Este contenido representa el archivo con extensin XML, que se obtiene al final de la prctica (en el paso 22).

este contenido lo podr abrir en : block de notas. Explorador de internet que tenga en uso. Etc...

Para abrir en Excel ajuste lo siguiente: I.- agregue una etiqueta de nivel Raz, por ejemplo: <Lista> <Empleados IdEmpleado="1" Nombre="Jorge" Apellido1="Martnez" /> <Empleados IdEmpleado="2" Nombre="Pedro" Apellido1="Lpez" /> <Empleados IdEmpleado="3" Nombre="Luis" Apellido1="Iglesias" /> <Empleados IdEmpleado="4" Nombre="Alfredo" Apellido1="Muiz" /> <Empleados IdEmpleado="5" Nombre="Sergio" Apellido1="Rodrguez" /> <Empleados IdEmpleado="6" Nombre="Rafael" Apellido1="Fuentes" /> <Empleados IdEmpleado="7" Nombre="Miguel" Apellido1="Arias" /> </Lista>

II.- Quite los acentos, las , y cualquier formato que se haya puesto en los registros, recuerde que para que excel pueda crear el formato de tabla de Bds, NO DEBE HABER FORMATOS ESPECIALES EN EL TEXTO. Por ejemplo: <Empleados IdEmpleado="1" Nombre="Jorge" Apellido1="Martnez" /> Es una lnea que no se procesar porque Martnez tiene acento y no se reconoce en la codificacin de excel.

Aqu la no se reconoce: <Empleados IdEmpleado="4" Nombre="Alfredo" Apellido1="Muiz" /> Estos cambios tambin se pueden hacer en el cdigo fuente antes de Ejecutar el Scritp que genera la tabla empleados.

Una vez hechas las modificaciones, ya est listo su archivo para poderse procesar en otras aplicaciones.

Vous aimerez peut-être aussi