Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом примере показано, как можно указать файлы шаблонов, состоящие из запросов SQL или XPath, с помощью свойства CommandStream объекта SqlXmlCommand. В этом приложении файл FileStreamobject открывается для файла команды, а поток файлов назначается как командный поток, который выполняется.
В следующем примере свойство CommandType указывается как SqlXmlCommandType.Template (не как TemplateFile).
Это пример XML-шаблона:
<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>
Это пример приложения C#. Чтобы протестировать приложение, сохраните шаблон (TemplateFile.xml) и выполните это приложение. Приложение выполняет запрос, указанный в xml-шаблоне, и отображает XML-документ, созданный на экране.
Замечание
В коде необходимо указать имя экземпляра Microsoft SQL Server в строке подключения.
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;
}
}
Тестирование приложения
Сохраните XML-шаблон (TemplateFile.xml), предоставленный в этом примере в папке.
Сохраните код C# (DocSample.cs), предоставленный в этом примере в той же папке, в которой хранится схема. (Если файлы хранятся в другой папке, необходимо изменить код и указать соответствующий путь каталога для схемы сопоставления.)
Скомпилируйте код. Чтобы скомпилировать код в командной строке, используйте следующую команду:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csПри этом создается исполняемый файл (DocSample.exe).
В командной строке выполните DocSample.exe.