SQL Server 2000 supporta una particolare sintassi, offerta da un componente chiamato SQLXML, che permette di aggiungere funzionalità XML-based alle nostre query.
In particolare, è possibile creare al volo un file XML a partire dal risultato di una query, sfruttando come base di partenza questo script:
<% ' imposto il formato della risposta su XML Response.ContentType="text/xml" set conn = Server.CreateObject("ADODB.Connection") conn.Open "Provider=sqloledb; Data Source=(local); Initial Catalog=pubs; Integrated Security=SSPI;" XmlSQL = "<root><sql:query xmlns:sql=""urn:schemas-microsoft-com:xml-sql"">{0}</sql:query></root>" strSQL = "SELECT * FROM titles FOR XML AUTO, ELEMENTS" ' creo la stringa per fare la query SQL = Replace(XmlSQL, "{0}", strSQL) ' oggetto command per effettaure la query Set command = Server.CreateObject("ADODB.Command") command.ActiveConnection = conn ' dialetto XML command.Dialect = "{5D531CB2-E6Ed-11D2-B252-00C04F681B71}" command.CommandText = SQL ' scrivo sull'oggetto Response l'output command.Properties("Output Stream") = Response command.Properties("XML Root") = "root" command.Execute , , 1024 ' chiusura set command = Nothing conn.Close set conn = Nothing %>
L'output sarà fatto a video, sfruttando l'oggetto Response, ma nulla vi vieta di caricare i dati all'interno di XmlDom ed agire di conseguenza.
Di particolare interesse la possibilità di avere un formato differente, con i valori dei campi come proprietà di un nodo centrale, rimuovendo la clausola EXPLICIT dalla query.
Con questo script e con poca fatica è possibile dunque creare facilmente esportazioni in formato XML.
Approfondimenti
Query XML con T-SQL e SQL Server 2000
https://www.aspitalia.com/articoli/db/xmlt-sql.aspx
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.