Pregunta

Se necesita un poco de ayuda. Estoy recibiendo un archivo xml similar a este:

<?xml version="1.0" encoding="utf-16"?>
<dc:GRANTEE xsi:schemaLocation="http://www.blahblahblah.com/FullSchema test.xsd " xmlns:dc="http://www.blahblahblah.com/FullSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <RPGID>90CU0024</RPGID>
    <PLANID>01</PLANID>
    <CASE>
        <CASEID>100001</CASEID>
        <RPGID>90CU0024</RPGID>
        <FILE_O>2008-02-08T00:00:00</FILE_O>
        <ADULT>
            <ADULTID>100001A1</ADULTID>
            <CASEID>100001</CASEID>
            <APRIMARY>1</APRIMARY>
            <ARLTNSHP>BM</ARLTNSHP>
            <ADOB>1978-12-03T00:00:00</ADOB>
            <ARACAI>1</ARACAI>
            <ASEX>2</ASEX>
            <SATX>
                <SATXID>MD2120378</SATXID>
                <ADULTID>100001A1</ADULTID>
                <SAASSESS>2008-02-22T00:00:00</SAASSESS>
                <PUBPRVTX>1</PUBPRVTX>
                <TXADMIT>2008-02-23T00:00:00</TXADMIT>
                <TXSET>5</TXSET>
            </SATX>
        </ADULT>
        <CHILD>
            <CHILDID>100001C1</CHILDID>
            <CASEID>100001</CASEID>
            <CINDEX>1</CINDEX>
            <CHBDATE>2008-02-05T00:00:00</CHBDATE>
            <CHSEX>1</CHSEX>
            <CHRACAI>0</CHRACAI>
            <MALTX>
                <MALTXID>10000023</MALTXID>
                <CHILDID>100001C1</CHILDID>
                <RPTDT>2008-02-05T00:00:00</RPTDT>
                <CHMAL1>2</CHMAL1>
             </MALTX>
         </CHILD>
    </CASE>

Lo que necesito hacer es importarlo y destruirlo en tablas con un proceso almacenado. No he podido encontrar otra cosa que no sea la regurgitación general de los ejemplos en los libros en línea, uh, en línea. Lo que necesito es un pequeño recorrido de sintaxis que muestre cómo puedo insertar el archivo de forma masiva (¿usando OPENROWSET?) y luego tomar todos los datos y dividirlos en tablas coincidentes mientras se mantienen las claves. Parece que debería ser fácil, pero el material de referencia es difícil de encontrar. También tengo acceso al esquema si lo necesito y puedo anotar también.

¿Alguien tiene una buena referencia?

¿Fue útil?

Solución

Puede usar la declaración BULK INSERT con la palabra clave RAW para cargar los datos en una tabla con una sola columna. Pondrá todo el documento en una sola fila. Luego, consulte la tabla y coloque los datos en una variable con un tipo de datos de XML.

Esto publicación de blog muestra cómo obtener datos del documento XML.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top