Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Dit voorbeeld illustreert hoe sjabloonbestanden die bestaan uit SQL- of XPath-queries kunnen worden gespecificeerd door gebruik te maken van de CommandStream-eigenschap van het SqlXmlCommand-object. In deze applicatie wordt een FileStreamobject geopend voor een commandobestand, en wordt de bestandsstroom toegewezen als de uitgevoerde CommandStream.
In het volgende voorbeeld wordt de CommandType-eigenschap gespecificeerd als SqlXmlCommandType.Template (niet als TemplateFile).
Dit is het voorbeeld XML-sjabloon:
<ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql">
<sql:query>
SELECT TOP 2 ContactID, FirstName, LastName
FROM Person.Contact
FOR XML AUTO
</sql:query>
</ROOT>
Dit is de voorbeeld van de C#-toepassing. Om de applicatie te testen, sla je de template op (TemplateFile.xml) en voer je vervolgens de applicatie uit. De applicatie voert de query uit die in het XML-sjabloon is gespecificeerd en toont het gegenereerde XML-document op het scherm.
Opmerking
In de code moet je de naam van de instantie van Microsoft SQL Server in de verbindingsstring opgeven.
using System;
using Microsoft.Data.SqlXml;
using System.IO;
class Test
{
static string ConnString = "Provider=SQLOLEDB;Server=(local);database=AdventureWorks;Integrated Security=SSPI";
public static int testParams()
{
//Stream strm;
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
ms.Position = 0;
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.CommandStream = new FileStream("TemplateFile.xml", FileMode.Open, FileAccess.Read);
cmd.CommandType = SqlXmlCommandType.Template;
using (Stream strm = cmd.ExecuteStream())
{
using (StreamReader sr = new StreamReader(strm)){
Console.WriteLine(sr.ReadToEnd());
}
}
return 0;
}
public static int Main(String[] args)
{
testParams();
return 0;
}
}
De toepassing testen
Sla het XML-sjabloon (TemplateFile.xml) dat in dit voorbeeld wordt geleverd op in een map.
Sla de C#-code (DocSample.cs) die in dit voorbeeld wordt gegeven op in dezelfde map waarin het schema is opgeslagen. (Als je de bestanden in een andere map opslaat, moet je de code bewerken en het juiste directorypad voor het mappingschema opgeven.)
Compileer de code. Om de code in de opdrachtprompt te compileren, gebruik u:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csDit creƫert een uitvoerbaar bestand (DocSample.exe).
Voer bij de opdrachtprompt DocSample.exeuit.