Readme_Oracle TVF-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.
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: C:\Programme\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\OracleTVF\
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
Jane ist eine Entwicklerin für Adventure Works Cycles. Sie muss Daten aus einer Oracle-Datenbank mit Daten integrieren, die in einer SQL Server-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 oder Microsoft SQL Server Express. Sie können SQL Server Express kostenlos über die Website mit der Dokumentation und Beispielen zu SQL Server Express erhalten.
- 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. Weitere Informationen finden Sie unter Installieren der .NET Framework-Dokumentation.
- 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
Öffnen Sie eine Eingabeaufforderung von Microsoft Visual Studio 2005. 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 Eingabeaufforderung von Microsoft .NET Framework. Klicken Sie auf Start, zeigen Sie auf Alle Programme und auf Microsoft .NET Framework SDK 2.0, und klicken Sie dann auf SDK-Eingabeaufforderung.
Wechseln Sie an der Eingabeaufforderung mit dem Befehl CD (Verzeichnis wechseln) vom aktuellen Ordner im Eingabeaufforderungsfenster zum Ordner Samples.
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 der Standardinstallationspfad verwendet wurde, befinden sich die Beispiele in <Laufwerk>:\Programme\Microsoft SQL Server\100\Samples.
Führen Sie an der Eingabeaufforderung den folgenden Befehl zum Generieren der Schlüsseldatei aus.
sn -k UnsafeSampleKey.snk
Wichtig
Weitere Informationen zum Schlüsselpaar mit starkem Namen finden Sie unter "Security Briefs: Starke Namen und Sicherheit im .NET Framework" unter Microsoft .NET-Entwicklung von MSDN.
So erstellen Sie das Oracle TVF-Beispiel
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
Stellen Sie sicher, dass die AdventureWorks2008R2-Datenbank installiert ist.
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.
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.
Ö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 Microsoft SQL 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
Ö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. 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
Ö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
Die CLR (Common Language Runtime) für SQL Server 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.