Hvordan lage XML se pen i SQL Server Resultat

Making XML ser pen i en Microsoft SQL Server resultatsettet er moderat til lett, gitt et skikkelig sett med verktøy og teknikk. Enten du bruker SQL Server 2000, 2005 eller 2008, produserer lett å lese, godt innrykk, og velformet XML er veldig gjennomførbart. Utgangen kan genereres ved hjelp av SQL Server Management Studio eller kommandolinjen "BCP" -verktøyet.

Bruksanvisning

Skaff XML Resultat Set

1 Bruke XML fasiliteter som finnes i SQL Server, som starter i SQL Server 2000, produserer et resultat sett som returnerer data i XML-datatype. Dette kan gjøres på ved bruk av FOR XML klausulen, preparerte XML-dokumenter, eller ved å returnere en kolonne med XML-datatype. Formatering fungerer best når det bare er én kolonne med XML-data returneres i resultatsettet.

2 Hvis du bruker SQL Server Management Studio, satt spørring til å sende "resultater til rutenett", slik at XML data blir automatisk omgjort til en hyperkobling. Ved å klikke på hyperkoblingen vil føre til SQL Server Management Studio til å lese og formatere XML-data i et innrykket, lett-å-lese formatet.

3 Hvis du bruker BCP, bruk "queryout" for å sende XML utgang til en fil. Dette fungerer best når den XML-produserende søket er inne i en lagret prosedyre. Kommandoen for å sende ut det XML-strømmen er som følger:

BCP "EXECUTE [Database]. [Bruker]. [Stored Procedure]" queryout "filename.xml" -w -r "" -t "" -U brukernavn -P passord -S Server

(Alternativt kan du bruke -T for en klarert tilkobling i stedet for -U og -P slår over.)

Utgangen fra BCP vil være en streamet XML-fil (ikke innrykket) i UTF-16-koding.

4 For å gjøre produksjonen fra BCP mer lesbar, kan du bruke et verktøy som Tidy å formatere utgang riktig. Programmet er åpen kildekode og binærfiler for Windows, Linux og Mac OS X er lett tilgjengelig. For å formatere utgang, bruker du følgende kommando:

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

Den -xml bryteren forteller Tidy at filen er ren XML og ikke HTML. Den -i bryteren forteller Tidy å rykke ut. -w 10000 bryteren forteller Tidy å bryte linjene på 10.000 tegn. Til slutt, undertrykker -q bryteren unødvendige advarsler.

Hint

  • SQL Server 2005 og 2008 inkluderer også muligheten til å bruke SQL Server Integration Services til utgang formatert XML-filer. Imidlertid vil denne tilnærmingen ikke jobber direkte på eldre SQL Server 2000 databaser.
  • Når du bruker SQL Server Management Studio, kan store XML-resultater ta en moderat betydelig mengde tid å gjengi. For raskere resultater, prøv å bruke BCP og Tidy metoden beskrevet ovenfor.