Import/Export con XML

lunedì 04 maggio 2015 - 16.42
Tag Elenco Tags  SQL Server 2008 R2

vittosss Profilo | Junior Member

Ciao,
sto studiando come fare importazione / esportazioni tramite xml (visto che ad oggi ancora lavoro con txt....).
ho trovato il comando:
select * from u_m_mst FOR XML AUTO

che mi restituisce un file così:
<u_m_mst site_ref="STD" u_m="16" description="115 Kilogram Drum" precision_="2" NoteExistsFlag="0" RecordDate="2008-11-19T16:34:04.437" RowPointer="89D2F852-2801-4F7E-A8B9-F0E13E518FE5" CreatedBy="sa" UpdatedBy="sa" CreateDate="2008-11-19T16:34:04.437" InWorkflow="0" iso_u_m="16" />
<u_m_mst site_ref="STD" u_m="17" description="100 Pound Drum" precision_="2" NoteExistsFlag="0" RecordDate="2008-11-19T16:34:04.437" RowPointer="94FE58DB-1E74-491B-AD33-FB658F0FA869" CreatedBy="sa" UpdatedBy="sa" CreateDate="2008-11-19T16:34:04.437" InWorkflow="0" iso_u_m="17" />

quindi campo = stringa contenente valore.

ora mi piacerebbe capire come fare l'import.
frugando ho visto che esiste una sorta di file di mapping ma se la mia struttura tabella è uguale da sorgente a destinazione devo cmq creare una corrispondenza?
qual'è la procedura + rapida per importare (visto che l'export per ora è stato eccezionalmente veloce :-) )

Grazie
V.

alx_81 Profilo | Guru

>Ciao,
ciao

>ora mi piacerebbe capire come fare l'import.
>frugando ho visto che esiste una sorta di file di mapping ma
>se la mia struttura tabella è uguale da sorgente a destinazione
>devo cmq creare una corrispondenza?
>qual'è la procedura + rapida per importare (visto che l'export
>per ora è stato eccezionalmente veloce :-) )
in generale, non mi piace fare serializzazione xml su sql server..
magari preferisco altre strade per evitare di far fare a sql server quello che, secondo me, non dovrebbe fare..
Ma questa è una digressione mia, perdonami

Osserva un po' questo post:
http://pratchev.blogspot.it/2008/11/import-xml-file-to-sql-table.html

noterai che utilizza la OPENROWSET:
https://msdn.microsoft.com/it-it/library/ms190312.aspx

>Grazie
di nulla!
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

vittosss Profilo | Junior Member

capisco ciò che intendi ma, a questo punto, la domanda successiva è: cosa consigli per produrre xml?

alx_81 Profilo | Guru

>capisco ciò che intendi ma, a questo punto, la domanda successiva
>è: cosa consigli per produrre xml?
Dipende dalla tua situazione reale.. Prova ad illustrarmi un po' quello che devi fare e il vero scenario, con tanto di dettagli su numero di volte in cui devi fare queste operazioni, tipo di dato che devi leggere, quantità, ecc..
Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

vittosss Profilo | Junior Member

in buona sostanza devo palleggiare dati fra due sistemi diversi fra loro.
il numero di colonne della tabella varia fra le 20 colonne e le 50. come tipo di dato nativo è misto: testo, numeri, date. niente image o ntext.
la frequenza è indicativa, potrebbe essere da 1 giorno schedulato fino al pulsante utente premuto x volte.

insomma, non è che ti abbia detto molto

alx_81 Profilo | Guru

>in buona sostanza devo palleggiare dati fra due sistemi diversi
>fra loro.
>il numero di colonne della tabella varia fra le 20 colonne e
>le 50. come tipo di dato nativo è misto: testo, numeri, date.
>niente image o ntext.
>la frequenza è indicativa, potrebbe essere da 1 giorno schedulato
>fino al pulsante utente premuto x volte.
>insomma, non è che ti abbia detto molto
come per l'olio evo.. Q.B.
hai la possibilità di usare integration services? Ovvero, hai una licenza non express?

Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

vittosss Profilo | Junior Member

assolutamente si

alx_81 Profilo | Guru

>assolutamente si
allora userei SSIS

Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com

vittosss Profilo | Junior Member

che conosco poco ma che, immagino, io possa salvare un pacchetto e lanciarlo a mio piacere.
al più la difficoltà potrebbe essere quella di lanciare il pacchetto dall'esterno (dal mio applicativo e non da sql server)


sto dando uno sguardo all'importazione xml tramite SSIS.
come tutte le cose che non si conoscono bene, mi appare complicato.
la domanda è:
perchè usare SSIS e non un classico TXT?
vorrei "andare avanti", il txt mi sembra davvero obsoleto però non vorrei farlo per "moda" ma perchè effettivamente il nuovo vale la pena di essere usato...e magari è più semplice.

sto filosofeggiando eccessivamente?

alx_81 Profilo | Guru

>che conosco poco ma che, immagino, io possa salvare un pacchetto e lanciarlo a mio piacere.
non ha un eseguibile, serve solo la DTExec che hai se installi sql server. Altrimenti dovrai interagire con le librerie di SSIS per eseguirli.

>al più la difficoltà potrebbe essere quella di lanciare il pacchetto
>dall'esterno (dal mio applicativo e non da sql server)
Puoi usare questo: https://msdn.microsoft.com/en-us/library/ms136090.aspx

>sto dando uno sguardo all'importazione xml tramite SSIS.
>come tutte le cose che non si conoscono bene, mi appare complicato.
>la domanda è:
>perchè usare SSIS e non un classico TXT?
? come puoi paragonare SSIS con un txt? SSIS ti dà la possibilità di leggere vari tipi di sorgenti, memorizzare e bufferizzare i dati, trasformarli, scrivere processi e workflow complessi..

>vorrei "andare avanti", il txt mi sembra davvero obsoleto però
>non vorrei farlo per "moda" ma perchè effettivamente il nuovo
>vale la pena di essere usato...e magari è più semplice.
Ma scusa, se vuoi farla semplice, fai una console application che lancia una query, la salva su un oggetto .net e lo serializza con json, xml, binario.. quello che serve a te..

Alessandro Alpi | SQL Server MVP | Engage IT Services s.r.l.
MCP|MCITP|MCTS|MCT
http://blogs.dotnethell.it/suxstellino
http://suxstellino.wordpress.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5