Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este exemplo mostra:
Como usar as Classes Gerenciadas do Microsoft SQLXML (Microsoft.Data.SqlXml) para acessar o Microsoft SQL Server no ambiente do Microsoft .NET Framework.
Como os DiffGrams gerados no ambiente do .NET Framework podem aplicar atualizações de dados às tabelas do SQL Server.
Neste aplicativo, uma consulta XPath é executada em um esquema XSD. A execução da consulta XPath retorna um documento XML que consiste em dados de contato (FirstName, LastName). O aplicativo carrega o documento XML no conjunto de dados no ambiente do .NET Framework. Os dados no conjunto de dados são modificados: o nome do contato é alterado para "Susan" para o primeiro contato no conjunto de dados. O DiffGram é gerado a partir do conjunto de dados e a atualização especificada no DiffGram (a alteração no nome do funcionário) é então aplicada à tabela Person.Contact.
Observação
No código, você deve fornecer o nome da instância do SQL Server na cadeia de conexão.
using System;
using System.Data;
using Microsoft.Data.SqlXml;
using System.IO;
class Test
{
static string ConnString = "Provider=SQLOLEDB;Server=SqlServerName;database=AdventureWorks;Integrated Security=SSPI;";
public static int testParams()
{
DataRow row;
SqlXmlAdapter ad;
//need a memory stream to hold diff gram temporarily
MemoryStream ms = new MemoryStream();
SqlXmlCommand cmd = new SqlXmlCommand(ConnString);
cmd.RootTag = "ROOT";
cmd.CommandText = "Con";
cmd.CommandType = SqlXmlCommandType.XPath;
cmd.SchemaPath = "MySchema.xml";
//load data set
DataSet ds = new DataSet();
ad = new SqlXmlAdapter(cmd);
ad.Fill(ds);
row = ds.Tables["Con"].Rows[0];
row["FName"] = "Susan";
ad.Update(ds);
return 0;
}
public static int Main(String[] args)
{
testParams();
return 0;
}
}
Para testar o exemplo:
Para testar este exemplo, você deve ter o Microsoft .NET Framework instalado em seu computador.
Salve este esquema XSD (MySchema.xml) em uma pasta:
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sql="urn:schemas-microsoft-com:mapping-schema"> <xsd:element name="Con" sql:relation="Person.Contact" > <xsd:complexType> <xsd:sequence> <xsd:element name="FName" sql:field="FirstName" type="xsd:string" /> <xsd:element name="LName" sql:field="LastName" type="xsd:string" /> </xsd:sequence> <xsd:attribute name="ContactID" type="xsd:integer" /> </xsd:complexType> </xsd:element> </xsd:schema>Salve o código C# (DocSample.cs) fornecido neste exemplo na mesma pasta na qual o esquema é armazenado. (Se você armazenar os arquivos em uma pasta diferente, precisará editar o código e especificar o caminho de diretório apropriado para o esquema de mapeamento.)
Compile o código. Para compilar o código no prompt de comando, use:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csIsso cria um executável (DocSample.exe).
No prompt de comando, execute DocSample.exe.