Freigeben über


Readme_AdventureWorks Cycles CLR Layer-Beispiel

[Dieses Thema ist eine Dokumentation zur Vorabversion und kann in zukünftigen Versionen geändert werden. Leere Themen sind als Platzhalter eingefügt. BITTE BEACHTEN SIE: Microsoft ist bestrebt, Ihnen möglichst viele Inhalte in deutscher Sprache anzubieten. Deshalb stellen wir Ihnen auch Dokumente zur Verfügung, die mit alternativen Verfahren übersetzt wurden. Der Inhalt der Dokumente dieser Vorabversion wurde zum Teil mithilfe solcher Verfahren übersetzt. Microsoft ist sich bewusst, dass ein auf diese Weise übersetztes Dokument nicht immer perfekt ist. Es kann Fehler in Bezug auf Wortwahl, Satzbau oder Grammatik enthalten. Für die Übersetzung der endgültigen Version dieses Inhalts werden herkömmliche Verfahren verwendet, sodass die Qualität der früherer Versionen entspricht.]

Dieses Beispiel funktioniert nur mit SQL Server 2005 und SQL Server 2008. In einer SQL Server-Version vor SQL Server 2005 kann das Beispiel nicht ausgeführt werden.

Das AdventureWorksSQLCLRLayer-Beispiel für SQL Server stellt nützliche Dienstprogramme bereit, die eine zusätzliche Funktionalitätsebene auf der einfachen AdventureWorks2008R2-Beispieldatenbank bilden. Das erste Dienstprogramm erstellt Kontaktdatensätze für die verschiedenen Personen, die mit der AdventureWorks2008R2-Datenbank in Verbindung stehen. Die Kontaktinformationen werden mithilfe von XML angegeben und an eine C#--basierte gespeicherte Prozedur übergeben. Das zweite Dienstprogramm definiert einen benutzerdefinierten Currency-Datentyp mithilfe von C#. Dieser benutzerdefinierte Datentyp kapselt sowohl einen Betrag als auch ein Gebietsschema ein, um die richtige Wiedergabe des Betrags als Währungswert in diesem Gebietsschema zu bestimmen. Das dritte Dienstprogramm stellt eine Währungsumrechnungsfunktion bereit, die eine Instanz des benutzerdefinierten Currency-Typs zurückgibt. Wenn die AdventureWorks2008R2-Datenbank über einen Umrechnungskurs von US-Dollar (USD) in die Währung des angegebenen Gebietsschemas verfügt, gibt die Umrechnungsfunktion einen benutzerdefinierten Currency-Datentyp mit dem konvertierten Kurs und einem Gebietsschema zurück, das dem angeforderten Gebietsschema entspricht. Andernfalls wird ein benutzerdefinierter Currency-Datentyp mit dem ursprünglichen Betrag zurückgegeben, d. h. ein USD-Betrag mit dem Gebietsschema en-us. Die Dienstprogramme veranschaulichen auch, wie Sie mithilfe von Transact-SQL CLR-Methoden (Common Language Runtime) und Assemblys registrieren und die Registrierung von CLR-Methoden und Assemblys aufheben können.

Hinweis

Die in diesem Beispiel verwendeten Wechselkurse sind frei erfunden und sollten nicht für tatsächliche finanzielle Transaktionen verwendet werden.

Beachten Sie beim Kompilieren von SQLCLR-Beispielen, dass der Pfad der Version des in SQL Server enthaltenen Microsoft .NET Framework-Compilers das erste .NET Framework-Verzeichnis sein muss, das in der PATH-Umgebungsvariablen angegeben ist. Der Speicherort des Compilers ist entweder Laufwerk:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx oder Laufwerk:\Windows\Microsoft.NET\Framework\v2.0.xxxxx, wobei Laufwerk für das Installationslaufwerk und xxxxx für die .NET Framework-Version steht, die in SQL Server enthalten ist.

Das Standardinstallationsverzeichnis ist C:\Programme\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\AdventureWorks.

SQL Server-Beispiele und -Beispieldatenbanken müssen heruntergeladen und installiert werden, bevor Sie sie anzeigen oder mit ihnen arbeiten können. Weitere Informationen finden Sie unter Überlegungen zum Installieren der SQL Server-Beispiele und -Beispieldatenbanken.

Szenario

  • Ein Entwickler benötigt eine praktische Methode, unterschiedliche Geldbeträge in unterschiedlichen Währungen darzustellen, permanent zu speichern und zu ändern.
  • Ein Entwickler benötigt eine praktische Methode, um neue Kontaktinformationen für Mitarbeiter, einzelne Kunden, Geschäftskunden und Anbieter zu erstellen und diese Informationen mit anderen Informationen in Beziehung zu setzen, die in der AdventureWorks2008R2-Datenbank gespeichert sind.

Sprachen

Transact-SQL, Visual C# und Visual Basic.

Features

Das SQLCLR layer-Beispiel verwendet die folgenden Features von SQL Server.

Anwendungsbereich Features

Contact

XML

Currency, ConvertCurrency

CLR UDT, benutzerdefinierte CLR-Funktion (UDF)

Voraussetzungen

Vor dem Ausführen dieses Beispiels muss folgende Software installiert werden:

  • SQL Server oder SQL Server Express. Sie können SQL Server Express kostenlos von der Website mit der Dokumentation und den Beispielen zu SQL Server Express abrufen.
  • Die AdventureWorks2008R2-Datenbank, die auf der SQL Server Developer-Website zur Verfügung gestellt wird.
  • Die SQL Server Database Engine (Datenbankmodul)-Beispiele, die auf der SQL Server Developer-Website zur Verfügung gestellt werden.
  • .NET Framework SDK 2.0 oder Microsoft Visual Studio 2005. Das .NET Framework SDK ist kostenlos erhältlich. Siehe Installieren der .NET Framework-Dokumentation.

Erstellen des Beispiels

Generieren Sie die Schlüsseldatei mithilfe der folgenden Anweisungen, falls Sie noch keine Schlüsseldatei mit starkem Namen erstellt haben.

So generieren Sie eine Schlüsseldatei mit starkem Namen

  1. Öffnen Sie eine Microsoft Visual Studio 2005-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und danach auf Microsoft .NET Framework SDK 2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.

    – oder –

    Öffnen Sie eine Microsoft .NET Framework-Eingabeaufforderung. Klicken Sie auf Start, zeigen Sie auf Alle Programme und dann auf Microsoft .NET Framework SDK 2.0, und klicken Sie anschließend auf SDK-Eingabeaufforderung.

  2. Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) vom aktuellen Verzeichnis im Eingabeaufforderungsfenster zu dem Ordner, in dem die Beispiele installiert werden.

    Hinweis

    Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server und auf Dokumentation und Lernprogramme, und klicken Sie dann auf Beispielordner, um den Ordner zu ermitteln, in dem sich die Beispiele befinden. Wenn das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Verzeichnis <system_drive>:\Programme\Microsoft SQL Server\100\Samples.

  3. Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus:

    sn -k SampleKey.snk

    Wichtig

    Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter .NET-Entwicklung von MSDN.

Gehen Sie genauso vor, um eine Schlüsseldatei mit dem Namen UnsafeSampleKey.snk zu erstellen, wenn Sie dies noch nicht getan haben.

Zum Erstellen des Beispiels gehen Sie wie folgt vor:

Beispielerstellung

  1. Kompilieren Sie das Beispiel mithilfe von Visual Studio 2005 und der bereitgestellten Visual Studio-Projektmappe oder mithilfe von Microsoft MSBuild, das im Lieferumfang von .NET Framework SDK 2.0 enthalten ist. Führen Sie an der Eingabeaufforderung einen Befehl ähnlich dem folgenden aus:

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln

  2. Stellen Sie sicher, dass die AdventureWorks2008R2-Datenbank installiert ist.

  3. Wenn Sie die Beispiele für SQL Server Database Engine (Datenbankmodul) nicht im Standardspeicherort installiert haben, ändern Sie den Pfad im CREATE ASSEMBLY-Abschnitt des Skripts in Scripts\InstallCS.sql, um auf den Speicherort zu verweisen, in dem die Beispiele installiert wurden.

  4. Wenn Sie keine Administratorrechte für die von Ihnen verwendete SQL Server-Instanz besitzen, müssen Sie sich von einem Administrator die CreateAssembly-Berechtigung erteilen lassen, um die Installation ausführen zu können.

  5. Öffnen Sie in SQL Server Management Studio die Datei scripts\installCS.sql bzw. scripts\installVB.sql, je nachdem, ob Sie das Visual C#-Projekt oder das Visual Basic-Projekt kompiliert haben. Führen Sie das in der Datei enthaltene Skript aus, oder führen Sie an der Eingabeaufforderung einen ähnlichen Befehl wie den folgenden aus:

    sqlcmd -E -I -i Scripts\InstallCS.sql

    Dieses Skript führt die folgenden Aktionen aus:

    • Entfernt, falls vorhanden, alle gespeicherten Prozeduren, die definiert werden sollen.
    • Löscht die Assemblyregistrierung, falls diese bereits vorhanden ist.
    • Registriert die Assembly.
    • Registriert die gespeicherten CLR-Prozeduren.

Ausführen des Beispiels

Zum Ausführen des Beispiels gehen Sie wie folgt vor:

Beispielausführung

  1. Laden Sie die Datei Scripts\test.sql in Management Studio, und führen Sie sie aus. Führen Sie alternativ den folgenden Befehl an der Eingabeaufforderung aus:

    sqlcmd -E -I -i Scripts\test.sql

Entfernen des Beispiels

Mithilfe des folgenden Verfahrens können Sie das SQLCLR Layer-Beispiel entfernen.

Beispielentfernung

  1. Laden Sie die Datei Scripts\cleanup.sql in Management Studio, und führen Sie sie aus. Führen Sie alternativ den folgenden Befehl an der Eingabeaufforderung aus:

    sqlcmd -E -I -i Scripts\cleanup.sql

Anmerkungen

Die CLR für SQL Server oder SQL Server Express muss aktiviert sein, damit dieses Beispiel ordnungsgemäß ausgeführt werden kann.

Die Beispiele dienen nur zu Lernzwecken. Sie sind nicht für den Einsatz in einer Produktionsumgebung gedacht und wurden auch nicht in einer Produktionsumgebung getestet. Microsoft leistet keinen technischen Support für diese Beispiele. Beispielanwendungen und Assemblys sollten nicht ohne die Zustimmung des Systemadministrators mit der SQL Server-Datenbank oder dem Berichtsserver verbunden sein oder verwendet werden.

Siehe auch

Tasks

Readme_Storefront

Konzepte

Beispiele für die CLR-Programmierbarkeit

Hilfe und Informationen

Informationsquellen für SQL Server 2008 R2