Freigeben über


LOB-Behandlung (Large Object)

Aktualisiert: 05. Dezember 2005

Das HandlingLOBUsingCLR-Beispiel für SQL Server 2005 veranschaulicht das Übertragen von LOBs (Large Objects) zwischen SQL Server und einem Dateisystem, das für den Server mithilfe von CLR-gespeicherten Prozeduren (Common Language Runtime) verfügbar ist. Dieses Beispiel veranschaulicht, wie Sie auf Dateien in serverseitigem Code zugreifen und dann aus CLR-basierten gespeicherten Prozeduren dynamische Abfragen und gespeicherte Prozeduren aufrufen. Darüber hinaus veranschaulicht es, wie Sie CLR-Methoden und CLR-Assemblys mithilfe von Transact-SQL registrieren und deren Registrierung aufheben.

Das Standardinstallationsverzeichnis ist drive:\Programme\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR.

Szenario

Ein Entwickler möchte Bilder zwischen SQL Server und dem Dateisystem auf dem Server kopieren.

Sprachen

Transact-SQL, Visual C# und Visual Basic.

Features

Das HandlingLOBUsingCLR-Beispiel verwendet die folgenden Features von SQL Server:

Anwendungsbereich Features

Überall

CLR-gespeicherte Prozeduren, Aufrufen von Transact-SQL-gespeicherten Prozeduren aus CLR-gespeicherten Prozeduren, Datentyp VARBINARY(MAX).

Voraussetzungen

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

  • SQL Server 2005 oder SQL Server 2005 Express Edition (SQL Server Express). SQL Server Express erhalten Sie kostenlos auf der SQL Server 2005 Express Edition Dokumentation und Beispiele-Website.
  • Die AdventureWorks-Datenbank, die im Lieferumfang von SQL Server 2005 enthalten und auch auf der SQL Server Developer-Website verfügbar ist.
  • Die SQL Server 2005-Datenbankmodul-Beispiele. Diese Beispiele sind in SQL Server 2005 enthalten. Sie können die aktuelle Version der Beispiele von der SQL Server Developer-Website downloaden.
  • .NET Framework SDK 2.0 oder Microsoft Visual Studio 2005. Das .NET Framework SDK ist kostenlos erhältlich. Siehe Installieren des .NET Framework SDK.

Erstellen des Beispiels

Wenn Sie die Schlüsseldatei mit starkem Namen, ExternalSampleKey.snk, noch nicht erstellt haben, erstellen Sie sie mithilfe der folgenden Anweisungen.

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, zeigen Sie auf Microsoft Visual Studio 2005 und anschließend auf Visual Studio Tools, und klicken Sie dann auf Visual Studio 2005-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 dann auf SDK-Eingabeaufforderung.

  2. Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD vom aktuellen Verzeichnis im Eingabeaufforderungsfenster in den Ordner mit den Beispielen.

    ms160944.note(de-de,SQL.90).gifHinweis:
    Klicken Sie auf Start, zeigen Sie auf Alle Programme, Microsoft SQL Server 2005 und auf Documentation and Tutorials, und klicken Sie dann auf Samples Directory, um den Ordner zu ermitteln, in dem sich die Beispiele befinden. Wenn bei der Installation der Standardspeicherort verwendet wurde, befinden sich die Beispiele im Ordner <system_drive>:\Programme\Microsoft SQL Server\90\Samples.
  3. Führen Sie an der Eingabeaufforderung den folgenden Befehl aus, um die Schlüsseldatei zu generieren:

    sn -k ExternalSampleKey.snk

    ms160944.note(de-de,SQL.90).gifWichtig:
    Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Strong Names and Security in the .NET Framework" (in Englisch) im .NET Development Center auf der MSDN-Website.

Führen Sie folgende Aktionen aus, um das Beispiel zu erstellen:

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\HandlingLOBUsingCLR.sln

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

  3. Falls Sie die Beispiele für SQL Server-Datenbankmodul nicht im Standardspeicherort installiert haben, ändern Sie den Pfad im CREATE ASSEMBLY-Abschnitt des Skripts in Scripts\InstallCS.sql und Scripts\InstallVB.sql auf den Speicherort, 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 Folgendes aus:

Ausführen des Beispiels

Um das Beispiel auszuführen, ist Folgendes erforderlich:

Beispielausführung

  1. Rufen Sie ein ähnliches Skript wie das folgende auf, um ein Bild in der Datenbank zu lesen:

    exec GetPhotoFromDB 70, 'C:\Temp\', 'test6.gif'

    go

    Stellen Sie sicher, dass das angegebene Verzeichnis vorhanden ist.

  2. Rufen Sie ein ähnliches Skript wie das folgende auf, um ein Bild in die Datenbank zu schreiben:

    exec PutPhotoIntoDB 70, 'C:\Temp\', 'test1.gif'

    go

    Fehler werden in der Datei error.log gemeldet, die in dem von Ihnen angegebenen Verzeichnis gespeichert ist. Informationen zu ähnlichen Skripts wie in dieser Vorgehensweise finden Sie in der Datei Scripts\test.sql.

Entfernen des Beispiels

Führen Sie folgende Aktionen aus, um das Beispiel zu entfernen:

Beispielentfernung

  1. Öffnen Sie die Datei scripts\cleanup.sql file in Management Studio, und führen Sie das in der Datei enthaltene Skript aus. Oder führen Sie den folgenden Befehl an der Eingabeaufforderung aus:

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

Kommentare

CLR für SQL Server 2005 oder SQL Server 2005 Express Edition muss aktiviert sein, damit dieses Beispiel ordnungsgemäß ausgeführt wird.

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

Aufgaben

LOB-Handhabung (Large Binary Object) mithilfe von ADO.NET

Konzepte

Beispiele für die CLR-Programmierbarkeit

Andere Ressourcen

Database Engine .NET Framework Programming

Hilfe und Informationen

Informationsquellen für SQL Server 2005

Änderungsverlauf

Version Verlauf

05. Dezember 2005

Geänderter Inhalt:
  • Die Anweisungen zum Generieren einer Schlüsseldatei wurden geändert, einschließlich des Namens und Speicherortes der Schlüsseldatei.