Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este ejemplo se muestra cómo se pueden especificar los archivos de plantilla que constan de consultas SQL o XPath mediante la propiedad CommandStream del objeto SqlXmlCommand. En esta aplicación, se abre un objeto FileStream para un archivo de comandos y la secuencia de archivos se asigna como CommandStream que se ejecuta.
En el ejemplo siguiente, la propiedad CommandType se especifica como SqlXmlCommandType.Template (no como TemplateFile).
Esta es la plantilla XML de ejemplo:
<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>
Esta es la aplicación de C# de ejemplo. Para probar la aplicación, guarde la plantilla (TemplateFile.xml) y ejecute la aplicación. La aplicación ejecuta la consulta especificada en la plantilla XML y muestra el documento XML que se genera en la pantalla.
Nota:
En el código, debe proporcionar el nombre de la instancia de Microsoft SQL Server en la cadena de conexión.
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;
}
}
Para probar la aplicación
Guarde la plantilla XML (TemplateFile.xml) que se proporciona en este ejemplo en una carpeta.
Guarde el código de C# (DocSample.cs) que se proporciona en este ejemplo en la misma carpeta en la que se almacena el esquema. (Si almacena los archivos en una carpeta diferente, tendrá que editar el código y especificar la ruta de acceso de directorio adecuada para el esquema de asignación).
Compile el código. Para compilar el código en el símbolo del sistema, use:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csEsto crea un archivo ejecutable (DocSample.exe).
En el símbolo del sistema, ejecute DocSample.exe.