Freigeben über


Überlegungen zur XML-Sicherheit (SQLXML 4.0)

Der FOR XML AUTO-Modus generiert eine XML-Hierarchie, in der Elementnamen Tabellennamen und Attributnamen Spaltennamen zugeordnet sind. Dadurch werden die Datenbanktabellen- und Spalteninformationen verfügbar gemacht. Sie können die Datenbankinformationen ausblenden, wenn Sie den AUTO-Modus (serverseitige Formatierung) verwenden, indem Sie Tabellen- und Spaltenalias in der Abfrage angeben. Diese Aliase werden im resultierenden XML-Dokument als Element- und Attributnamen zurückgegeben.

Die folgende Abfrage gibt z. B. den AUTO-Modus an; Daher erfolgt die XML-Formatierung auf dem Server:

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

Im resultierenden XML-Dokument werden die Aliase für Element- und Attributnamen verwendet:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <C F="Nancy" L="Fuller" />   
  <CE F="Andrew" L="Peacock" />   
  <C F="Janet" L="Leverling" />   
  ...  
</root>  

Wenn Sie den NESTED-Modus (clientseitige Formatierung) verwenden, werden Aliase nur für Attribute im resultierenden XML-Dokument zurückgegeben. Die Namen der Basistabellen werden immer als Elementnamen zurückgegeben. Die folgende Abfrage gibt z. B. den NESTED-Modus an.

SELECT C.FirstName as F,C.LastName as L   
FROM Person.Contact C   
FOR XML AUTO  

Im resultierenden XML-Dokument werden die Namen der Basistabellen nicht als Elementnamen und Tabellenaliasen zurückgegeben:

<?xml version="1.0" encoding="utf-8" ?>   
<root>  
  <Person.Contact F="Nancy" L="Fuller" />   
  <Person.Contact F="Andrew" L="Peacock" />   
  <Person.Contact F="Janet" L="Leverling" />   
       ...  
</root>