Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieses Beispiel zeigt:
Verwenden von microsoft SQLXML Managed Classes (Microsoft.Data.SqlXml) für den Zugriff auf Microsoft SQL Server in der Microsoft .NET Framework-Umgebung.
Wie DiffGrams, die in der .NET Framework-Umgebung generiert werden, Datenaktualisierungen auf SQL Server-Tabellen anwenden können.
In dieser Anwendung wird eine XPath-Abfrage für ein XSD-Schema ausgeführt. Die Ausführung der XPath-Abfrage gibt ein XML-Dokument zurück, das aus Kontaktdaten (FirstName, LastName) besteht. Die Anwendung lädt das XML-Dokument im Dataset in der .NET Framework-Umgebung. Die Daten im Dataset werden geändert: Der Vorname des Kontakts wird für den ersten Kontakt im Dataset in "Susan" geändert. Das DiffGram wird aus dem Dataset generiert, und das im DiffGram angegebene Update (die Änderung im Vornamen des Mitarbeiters) wird dann auf die Tabelle "Person.Contact" angewendet.
Hinweis
Im Code müssen Sie den Namen der Instanz von SQL Server in der Verbindungszeichenfolge angeben.
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;
}
}
So testen Sie das Beispiel:
Zum Testen dieses Beispiels müssen Sie microsoft .NET Framework auf Ihrem Computer installiert haben.
Speichern Sie dieses XSD-Schema (MySchema.xml) in einem Ordner:
<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>Speichern Sie den in diesem Beispiel bereitgestellten C#-Code (DocSample.cs) im selben Ordner, in dem das Schema gespeichert ist. (Wenn Sie die Dateien in einem anderen Ordner speichern, müssen Sie den Code bearbeiten und den entsprechenden Verzeichnispfad für das Zuordnungsschema angeben.)
Kompilieren Sie den Code. Verwenden Sie folgendes, um den Code an der Eingabeaufforderung zu kompilieren:
csc /reference:Microsoft.Data.SqlXML.dll DocSample.csDadurch wird eine ausführbare Datei (DocSample.exe) erstellt.
Führen Sie an der Eingabeaufforderung DocSample.exeaus.