Freigeben über


Datenzugriff von CLR-Datenbankobjekten

Eine CLR-Routine (Common Language Runtime) kann problemlos auf Daten zugreifen, die in der Instanz von SQL Server gespeichert sind, in der sie ausgeführt wird, sowie auf Daten, die in Remoteinstanzen gespeichert sind. Auf welche bestimmten Daten die Routine zugreifen kann, hängt vom Benutzerkontext ab, in dem der Code ausgeführt wird. Zugreifen auf Daten aus einem CLR-Datenbankobjekt mithilfe des .NET Framework-Datenanbieters für SQL Server-Daten aus verwalteten Client- und Middle-Tier-Anwendungen. Aus diesem Gründen können Sie Ihr Wissen über ADO.NET und in Client- und SqlClient Middle-Tier-Anwendungen nutzen.

Hinweis

Benutzerdefinierte Typmethoden und benutzerdefinierte Funktionen dürfen standardmäßig keinen Datenzugriff ausführen. Sie müssen die DataAccess Eigenschaft von SqlMethodAttribute oder SqlFunctionAttribute auf DataAccessKind.Read festlegen, um den schreibgeschützten Datenzugriff von benutzerdefinierten Typmethoden oder benutzerdefinierten Funktionen zu ermöglichen. Datenänderungsvorgänge sind von UDTs oder benutzerdefinierten Funktionen nicht zulässig und löst Ausnahmen zur Ausführungszeit aus, wenn versucht wird.

In diesem Abschnitt werden nur die spezifischen Unterschiede der Funktionen und Verhaltensweisen beim Datenzugriff von einem CLR-Datenbankobjekt ausgehend beschrieben. Weitere Informationen zu Funktionen und Funktionalität von ADO.NET finden Sie in der ADO.NET-Dokumentation im .NET Framework SDK.

In der folgenden Tabelle sind die Themen in diesem Abschnitt aufgeführt.

Kontextverbindung
Beschreibt die Kontextverbindung zu SQL Server.

Identitätswechsel und Anmeldeinformationen für Verbindungen
Beschreibt die Annahme der Identität von Verbindungen und Verbindungsanmeldeinformationen.

SQL Server In-Process spezifische Erweiterungen für ADO.NET
Erläutert die prozessspezifischen SqlPipe, SqlContext, SqlTriggerContextund SqlDataRecord -Objekte.

CLR-Integration und -Transaktionen
Beschreibt, wie das neue Transaktionsframework im System.Transactions-Namespace in ADO.NET- und SQL Server CLR-Integration integriert wird.

XML-Serialisierung auf Grundlage von CLR-Datenbankobjekten
Erläutert, wie XML-Serialisierungsszenarien von CLR-Datenbankobjekten in SQL Server aktiviert werden.