Share via


Oracle TVF-Beispiel

Aktualisiert: 05. Dezember 2005

In manchen Unternehmensszenarien ist es sinnvoll, Daten aus anderen Datenbank-Managementsystemen mit den in Microsoft SQL Server gespeicherten Daten zu integrieren. Dieses Beispiel zeigt, wie Sie die verwaltete Codeschnittstelle für Oracle aufrufen, um die Ergebnisse einer Oracle-Abfrage als Tabellenwertfunktion in SQL Server offen zu legen. Mit dieser Methode können Daten aus Oracle und aus SQL Server problemlos in einer relativ einfachen SELECT-Anweisung, die Sie in SQL Server ausführen, verknüpft werden.

Dieses Beispiel enthält die GetDataFromOracle-Tabellenwertfunktion. Diese Funktion verwendet den verwalteten Oracle-Anbieter, um beliebige Oracle-Abfragen für eine Oracle-Datenbank auszuführen und die Ergebnisse in Tabellenform bereitzustellen.

Installationsverzeichnis: drive:\Programme\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\OracleTVF\

Szenario

Jane ist eine Entwicklerin für Adventure Works Cycles. Sie muss Daten aus einer Oracle-Datenbank mit Daten integrieren, die in einer -Datenbank gespeichert sind.

Sprachen

Transact-SQL, Visual C# und Visual Basic.

Features

Das Oracle TVF-Beispiel verwendet die folgenden Features von Microsoft SQL Server.

Anwendungsbereich Features

Gesamt

CLR (Common Language Runtime), verwalteter Oracle-Anbieter, Transact-SQL

Voraussetzungen

Stellen Sie vor dem Ausführen dieses Beispiels sicher, dass die folgende Software installiert ist:

  • Microsoft SQL Server 2005 oder Microsoft SQL Server 2005 Express Edition (SQL Server Express). SQL Server Express erhalten Sie kostenlos auf der Website für SQL Server 2005 Express Edition Dokumentation und Beispiele .
  • Die Beispiele zu SQL Server 2005-Datenbankmodul. 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. Weitere Informationen finden Sie unter Installieren des .NET Framework SDK.
  • Ein Server, auf dem Oracle 10g ausgeführt wird. Wenn Sie eine ältere Version von Oracle installiert haben, müssen Sie die Tabelle und die Spalten, auf die zugegriffen wird, so ändern, dass sie mit einer vorhandenen Tabelle auf Ihrem älteren Server übereinstimmen. Dieses Beispiel ist möglicherweise nicht auf einer x64-basierten Hardware funktionsfähig, auf der eine Oracle-Version vor Version 10g verwendet wird. Wenn Sie dieses Beispiel unter Windows Vista verwenden möchten, wenden Sie sich an den Oracle-Kundenservice, um Informationen zur Verfügbarkeit von Oracle 10g unter Windows Vista zu erhalten.

Erstellen des Beispiels

Wenn Sie die Schlüsseldatei mit starkem Namen, UnsafeSampleKey.snk, noch nicht erstellt haben, müssen Sie diese Datei mit dem folgenden Verfahren generieren.

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, Microsoft Visual Studio 2005 und 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 auf Microsoft .NET Framework SDK 2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.

  2. Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) vom aktuellen Ordner im Eingabeaufforderungsfenster zum Ordner Samples.

    ms345278.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 bestimmen, in dem die Beispiele gespeichert sind. Wenn das Standardverzeichnis verwendet wurde, befinden sich die Beispiele im Verzeichnis <system_drive>:\Programme\Microsoft SQL Server\90\Samples.
  3. Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus.

    sn -k UnsafeSampleKey.snk

    ms345278.note(de-de,SQL.90).gifWichtig:
    Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" im Microsoft .NET Development Center auf MSDN.

So erstellen Sie das Oracle TVF-Beispiel

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

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

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

  3. Wenn Sie die Modulbeispiele für SQL Server 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 haben, müssen Sie sich von einem Administrator CreateAssembly-Berechtigungen erteilen lassen, damit Sie die Installation ausführen können.

  5. Öffnen Sie die Datei scripts\installCS.sql bzw. scripts\installVB.sql (je nachdem, ob Sie das Visual C#-Projekt oder das Visual Basic-Projekt kompiliert haben) in MicrosoftSQL Server Management Studio. Führen Sie das in der Datei enthaltene Skript aus, oder führen Sie in einem Eingabeaufforderungsfenster einen Befehl aus, der dem folgenden ähnlich ist:

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

Ausführen des Beispiels

So führen Sie das Oracle TVF-Beispiel aus

  1. Öffnen Sie die Datei Scripts\Test.sql file in Microsoft Management Studio oder in einem Text-Editor wie den Editor. Ändern Sie das Skript, indem Sie <server name>, <user name> und <password> durch den Namen des von Ihnen verwendeten Oracle-Servers und durch die Anmeldeinformationen ersetzen, die Sie auf diesem Server verwenden. Das Beispiel ist für die Ausführung mit der von Oracle herausgegebenen Beispieldatenbank entwickelt und standardmäßig dem Benutzer scott zugeordnet, obwohl für Ihren Datenbankadministrator möglicherweise andere Anmeldeinformationen erforderlich sind. Führen Sie das Skript in Management Studio aus bzw. speichern Sie das Skript im Editor. Führen Sie dann in einem Eingabeaufforderungsfenster einen Befehl aus, der dem folgenden ähnlich ist:

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

Entfernen des Beispiels

So entfernen Sie das Oracle TVF-Beispiel

  1. Öffnen Sie die Datei scripts\cleanup.sql in Management Studio. Führen Sie das in der Datei enthaltene Skript aus, oder führen Sie in einem Eingabeaufforderungsfenster den folgenden Befehl aus:

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

Kommentar

CLR (Common Language Runtime) für SQL Server 2005 oder SQL Server Express 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.