Verwendungsszenarien und Beispiele für Common Language Runtime (CLR)-Integration

SQL Server enthält Beispielanwendungen, Paketbeispiele und zahlreiche Codebeispiele, die Sie zum Erlernen der CLR-ProgrammierbarkeitsFunktionen (Common Language Runtime) verwenden können.

In der folgenden Tabelle werden die Beispiele für die CLR-Integrationsprogrammierbarkeit beschrieben, die auf CodePlex verfügbar sind; weitere Informationen finden Sie unter Beispiele für SQL Server Database Engine.

Name

Beschreibung

Beispiele für SQL Server Database Engine

Stellt Hilfsprogramme bereit, die eine zusätzliche Funktionalitätsebene auf der einfachen AdventureWorks2008R2-Beispieldatenbank bilden.

Supplementary-bewusste Zeichenfolgenmanipulation

Zeigt die Implementierung von fünf Transact-SQL-Zeichenfolgenfunktionen mit ergänzenden Funktionen, die sowohl Unicode- als auch Ersatzzeichenfolgen verarbeiten können.

Behandlung großer Objekte (Large Object, LOB)

Veranschaulicht die Übertragung umfangreicher Binärobjekte (Large Binary Objects, LOBs) zwischen SQL Server und einem Dateisystem, auf das der Server mithilfe von gespeicherten CLR-Prozeduren zugreifen kann.

Beispiel für In-Process-Datenzugriff

Enthält eine bestimmte Anzahl von einfachen Funktionen zur Demonstration verschiedener Features des prozessinternen CLR-Datenzugriffsanbieters.

Geteilte Zeichenfolge - Tabellenwertfunktion (TVF)

Enthält eine Streaming-Tabellenwertfunktion (Table-Valued Function, TVF) in Visual C# und Visual Basic, die eine durch Trennzeichen getrennte Zeichenfolge in eine Tabelle mit einer Spalte unterteilt.

UDT-Hilfsprogramme

Enthält eine Reihe von Hilfsprogrammfunktionen mit benutzerdefiniertem Datentyp (User-Defined Data Type, UDT).

Beispiel für den benutzerdefinierten Datentyp (User Defined Data Type, UDT)

Veranschaulicht das Erstellen und Verwenden eines einfachen UDT sowohl aus Transact-SQL als auch aus einer Clientanwendung heraus, die System.Data.SqlClient verwendet.

UTF8 String (benutzerdefinierter Datentyp, UDT)

Veranschaulicht die Implementierung eines UDT, der das Typensystem der Datenbank erweitert, um UTF8-codierte Werte speichern zu können.

Dem Kalender entsprechende Datums-/Uhrzeit-UDTs

Definiert zwei UDTs, die die dem lokal gültigen Kalender entsprechende Verarbeitung von Daten und Uhrzeiten bereitstellen.

Beispiel für einen Ergebnissatz

Veranschaulicht, wie Befehle beim Durchsehen der Ergebnisse einer Abfrage ausgeführt werden können, ohne eine neue Verbindung öffnen und ohne alle Ergebnisse in den Speicher laden zu müssen.

Beispiel für einen Arrayparameter

Zeigt, wie Sie eine Gruppe von Zeilen in einer Datenbank durch Übergeben eines Arrays mit Informationen von einem Client an eine CLR-gespeicherte Prozedur auf dem Server erstellen, aktualisieren oder löschen können. Zu diesem Zweck wird ein UDT verwendet.

Beispiel "Hello World"

Veranschaulicht die grundlegenden Vorgänge, die beim Erstellen, Bereitstellen und Testen einer einfachen gespeicherten Prozedur, die auf der CLR-Integration basiert, ausgeführt werden müssen.

Beispiel für "Hello World Ready"

Veranschaulicht die grundlegenden Vorgänge, die beim Erstellen, Bereitstellen und Testen einer einfachen gespeicherten World-Ready-Prozedur, die auf der CLR-Integration basiert, ausgeführt werden müssen.

Beispiel für Identitätswechsel

Veranschaulicht, wie mit einem Identitätswechsel die vom Client übergegebenen Anmeldeinformationen verwendet werden können. Dieser Vorgang wird ausgeführt, um bei Verwendung der integrierten Sicherheit auf betriebssystemgeschützte Ressourcen zuzugreifen.

Räumliches Beispiel

Zeigt, wie bei Verwendung der integrierten Sicherheit mithilfe des Identitätswechsels mit den vom Client übergebenen Anmeldeinformationen auf betriebssystemgeschützte Ressourcen, z. B. Dateien, zugegriffen werden kann.

Oracle TVF-Beispiel

Zeigt, wie Sie die verwaltete Codeschnittstelle zu Oracle aufrufen, um die Ergebnisse einer beliebigen Oracle-Abfrage als Tabellenwertfunktion anzuzeigen.

Beispiel für das Senden eines Datensatzes

Zeigt, wie Sie ein auf ADO.NET basiertes Dataset in einer serverseitigen CLR-basierten gespeicherten Prozedur als Resultset an den Client zurückgeben.

Beispiel für System.Transactions

Veranschaulicht das Steuern von Transaktionen mithilfe der im System.Transactions-Namespace vorhandenen verwalteten APIs.