Alla ricerca di un buon esempio di distruzione in blocco dell'inserimento XML per SQL 2005

StackOverflow https://stackoverflow.com/questions/223376

  •  03-07-2019
  •  | 
  •  

Domanda

Serve un piccolo aiuto. Ricevo un file XML simile a questo:

<?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>

Quello che devo fare è importarlo e distruggerlo alle tabelle con un proc memorizzato. Non sono stato in grado di trovare altro che rigurgito generale degli esempi nei libri online, uh, online. ciò di cui ho bisogno è una breve sintassi che mostra come posso inserire il file in blocco (usando OPENROWSET?) e quindi prendere tutti i dati e dividerli in tabelle corrispondenti mantenendo le chiavi. Sembra che dovrebbe essere facile, ma il materiale di riferimento è difficile da trovare. Ho anche accesso allo schema se ne ho bisogno e posso anche annotare.

Qualcuno ha un buon riferimento?

È stato utile?

Soluzione

È possibile utilizzare l'istruzione BULK INSERT con la parola chiave RAW per caricare i dati in una tabella con una singola colonna. Metterà l'intero documento in un'unica riga. Quindi interrogare la tabella e inserire i dati in una variabile con un tipo di dati XML.

Questo post di blog mostra come estrarre i dati dal documento XML.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top