Freigeben über


Datenzugriff von CLR-Datenbankobjekten aus

Eine CLR-Routine (Common Language Runtime) kann auf einfache Weise auf Daten zugreifen, die in einer Instanz von Microsoft SQL Server gespeichert sind, auf der sie ausgeführt wird, sowie auf Daten, die in Remoteinstanzen gespeichert wurden. Auf welche Daten die Routine zugreifen kann, wird durch den Benutzerkontext bestimmt, in dem der Code ausgeführt wird. Der Datenzugriff erfolgt von einem CLR-Datenbankobjekt mithilfe des .NET Framework-Datenanbieters für SQL Server, der auch als SqlClient bezeichnet wird. Dies ist der gleiche Anbieter, den Entwickler zum Zugriff von verwalteten Clientanwendungen und Anwendungen der mittleren Ebene auf SQL Server-Daten verwenden. Daher können Sie Ihre ADO.NET- und SqlClient-Kenntnisse in Clientanwendungen und Anwendungen der mittleren Ebene nutzen.

HinweisHinweis

Benutzerdefinierten Typmethoden und benutzerdefinierten Funktionen wird nicht ermöglicht, standardmäßig auf Daten zuzugreifen. Sie müssen die DataAccess-Eigenschaft von SqlMethodAttribute oder SqlFunctionAttribute auf DataAccessKind.Read festlegen, um schreibgeschützten Datenzugriff von benutzerdefinierten Typmethoden (User Defined Type, UDT) oder benutzerdefinierten Funktionen zu aktivieren. Datenänderungsvorgänge von UDTs oder benutzerdefinierten Funktionen ausgehend sind nicht zulässig. Ein solcher Versuch löst zur Ausführungszeit eine Ausnahme aus.

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 dieses Abschnitts aufgeführt.