Come fare XML guardare piuttosto in Server SQL Risultato

January 8

Fare XML guardare piuttosto in un set di risultati di Microsoft SQL Server è moderatamente facile, dato un adeguato insieme di strumenti e tecniche. Sia che si utilizzi SQL Server 2000, 2005 o 2008, la produzione di facile lettura, ben frastagliata, e XML ben formato è molto fattibile. L'uscita può essere generato utilizzando SQL Server Management anche l'utilità della riga di comando "BCP" Studio o.

istruzione

Ottenere il set XML Risultato

1 Utilizzando le strutture XML presenti in SQL Server, a partire in SQL Server 2000, la produzione di una serie di risultati che restituisce i dati nel tipo di dati XML. Ciò può essere fatto tramite l'uso della clausola FOR XML, documenti XML preparati, o ritornando una colonna con il tipo di dati XML. La formattazione funziona meglio quando c'è solo una colonna di dati XML restituiti nel set di risultati.

2 Se si utilizza SQL Server Management Studio, della query per inviare "risultati alla griglia" in modo che i dati XML viene attivata automaticamente in un collegamento ipertestuale. Facendo clic sul collegamento ipertestuale causerà SQL Server Management Studio per leggere e formattare i dati XML in un formato facile da leggere frastagliata.

3 Se si utilizza BCP, utilizzare l'opzione "queryout" per inviare l'output XML in un file. Questo funziona meglio quando la query XML-produzione è contenuto all'interno di una stored procedure. Il comando per l'emissione del flusso XML è la seguente:

BCP "eseguire [Database]. [utente]. [Stored Procedure]" "filename.xml" queryout -w -r "" -t "" password -U nome utente -P -S ServerName

(In alternativa, è possibile utilizzare -T per una connessione di fiducia al posto del -U e -P interruttori sopra.)

L'uscita da BCP sarà un file XML in streaming (non rientrato) in codifica UTF-16.

4 Per rendere l'uscita da bcp più leggibile, utilizzare un programma di utilità come Tidy per formattare l'output in modo corretto. Il programma è open source e file binari per Windows, Linux e Mac OS X sono facilmente disponibili. Per formattare l'output, utilizzare il seguente comando:

ordinato -xml -i -w -q 10000 filename.xml> tidy_filename.xml

L'interruttore -xml dice Tidy che il file XML è puro e non HTML. Lo switch -i dice Tidy per far rientrare l'uscita. Lo switch -w 10000 dice Tidy per avvolgere le linee a 10.000 caratteri. Infine, l'interruttore q sopprime messaggi di avviso non essenziali.

Consigli e avvertenze

  • SQL Server 2005 e 2008 includono anche la possibilità di utilizzare SQL Server Integration Services per output formattato i file XML. Tuttavia, questo approccio non funziona direttamente su vecchie database di SQL Server 2000.
  • Quando si utilizza SQL Server Management Studio, grandi risultati XML possono richiedere una quantità moderata di tempo significativo per il rendering. Per i risultati più rapidi, provare a utilizzare il metodo di BCP e ordinata sopra descritto.