Datenzugriff von CLR-Datenbankobjekten
Gilt für:SQL Server
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, und daten, die in Remoteinstanzen gespeichert sind. Der Benutzerkontext, in dem der Code ausgeführt wird, bestimmt die spezifischen Daten, auf die die Routine zugreifen kann. Zugreifen auf Daten aus einem CLR-Datenbankobjekt mithilfe des .NET Framework-Datenanbieters für SQL Server, auch als SqlClient
bezeichnet. Dies ist derselbe Anbieter, der von Entwicklern verwendet wird, die auf SQL Server-Daten aus verwalteten Client- und Middle-Tier-Anwendungen zugreifen. Aus diesem Gründen können Sie Ihr Wissen über ADO.NET und SqlClient
in Client- und Middle-Tier-Anwendungen verwenden.
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ösen 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 Artikel in diesem Abschnitt aufgeführt.
Artikel | Beschreibung |
---|---|
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 , SqlTriggerContext und 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. |