Partager via


Exemple Oracle TVF

Mis à jour : 5 décembre 2005

Dans certains scénarios d'entreprise, il est utile d'intégrer les données d'autres systèmes de gestion de base de données à des données stockées dans Microsoft SQL Server. Cet exemple montre comment appeler l'interface en code managé dans Oracle pour exposer le résultat de toutes les requêtes Oracle en fonction table dans SQL Server. Cette méthode simplifie la jointure de données Oracle et SQL Server dans une instruction SELECT relativement simple que vous exécutez sur SQL Server.

Cet exemple contient la fonction table GetDataFromOracle. Cette fonction utilise le fournisseur Oracle managé pour exécuter des requêtes Oracle arbitraires sur une base de données Oracle et donne les résultats sous forme de table.

Répertoire d'installation : lecteur:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\OracleTVF\

Scénario

Jane travaille au service Développement de la société Adventure Works Cycles. Elle doit intégrer les données d'une base de données Oracle à des données stockées dans une base de données .

Langages

Transact-SQL, Visual C# et Visual Basic.

Fonctionnalités

L'exemple Oracle TVF utilise les fonctionnalités suivantes de Microsoft SQL Server.

Domaine d'application Fonctionnalités

Global

CLR (Common Language Runtime), fournisseur Oracle managé, Transact-SQL

Configuration requise

Avant d'exécuter cet exemple, assurez-vous que les logiciels suivants sont installés sur votre ordinateur :

  • Microsoft SQL Server 2005 ou Microsoft SQL Server 2005 Express Edition (SQL Server Express). Vous pouvez vous procurer SQL Server Express gratuitement à partir du site Web SQL Server 2005 Express Edition Documentation et exemples.
  • Les exemples du moteur de base de données SQL Server 2005. Ces exemples accompagnent SQL Server 2005. Vous pouvez télécharger la dernière version des exemples sur le site Web du SQL Server Developer Center (Centre des développeurs SQL Server).
  • Le Kit de développement .NET Framework SDK 2.0 ou Microsoft Visual Studio 2005. Vous pouvez vous procurer gratuitement le kit de développement .NET Framework SDK. Pour plus d'informations, consultez Installation du SDK .NET Framework.
  • Un serveur exécutant Oracle 10g. Si une version antérieure d'Oracle est installée sur votre ordinateur, vous devez modifier la table et les colonnes auxquelles vous accédez pour qu'elles correspondent à une table existante sur votre ancien serveur. Cet exemple ne fonctionne pas sur du matériel x64 utilisant des versions d'Oracle antérieures à la version 10g. Si vous souhaitez utiliser cet exemple sur Windows Vista, contactez le représentant du service clientèle Oracle pour obtenir plus d'informations sur la disponibilité d'Oracle 10g sur Windows Vista.

Génération de l'exemple

Si vous n'avez pas encore créé le fichier de clé de nom fort UnsafeSampleKey.snk, vous devez le générer en suivant les instructions ci-après.

Pour générer un fichier de clé de nom fort

  1. Ouvrez une invite de commandes Microsoft Visual Studio 2005. Cliquez sur Démarrer, pointez successivement sur Tous les programmes, sur Microsoft Visual Studio 2005 et sur Outils Visual Studio, puis cliquez sur Invite de commandes de Visual Studio 2005.

    - ou -

    Ouvrez une invite de commandes de Microsoft .NET Framework. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.

  2. À l'invite de commandes, utilisez la commande cd (Change Directory) pour remplacer le dossier actif de la fenêtre d'invite de commandes par le dossier Samples.

    ms345278.note(fr-fr,SQL.90).gifRemarque :
    Pour déterminer le dossier dans lequel se trouvent les exemples, cliquez sur Démarrer, pointez successivement sur Tous les programmes, sur Microsoft SQL Server 2005 et sur Documentation et didacticiels, puis cliquez sur le répertoire Samples. Si l'emplacement d'installation par défaut a été utilisé, les exemples se trouvent dans <system_drive>:\Program Files\Microsoft SQL Server\90\Samples.
  3. À l'invite de commandes, exécutez la commande suivante pour générer le fichier de clé :

    sn -k UnsafeSampleKey.snk

    ms345278.note(fr-fr,SQL.90).gifImportant :
    Pour plus d'informations sur la paire de clés de nom fort, consultez l'article de sécurité traitant des noms forts et de la sécurité dans .NET Framework (éventuellement en anglais), disponibles dans le Centre de développement .NET Microsoft sur MSDN.

Pour générer l'exemple Oracle TVF

  1. Compilez l'exemple au moyen de Visual Studio 2005 et de la solution Visual Studio fournie, ou à l'aide de Microsoft MSBuild présent dans le Kit de développement logiciel .NET Framework SDK 2.0. À une invite de commandes de .NET Framework, exécutez des commandes présentant l'aspect suivant :

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

  2. Vérifiez que la base de données AdventureWorks est installée.

  3. Si vous n'avez pas installé les exemples pour le moteur SQL Server à l'emplacement par défaut, modifiez le chemin d'accès dans la partie CREATE ASSEMBLY du script qui se trouve dans Scripts\InstallCS.sql de façon à désigner l'emplacement où vous avez installé ces exemples.

  4. Si vous n'êtes pas un administrateur de l'instance de SQL Server que vous utilisez, demandez à un administrateur de vous accorder l'autorisation CreateAssembly pour effectuer l'installation.

  5. Ouvrez le fichier scripts\installCS.sql ou scripts\installVB.sql file, selon que vous avez compilé le projet Visual C# ou le projet Visual Basic, dans Microsoft SQL Server Management Studio. Exécutez le script contenu dans le fichier ou exécutez une commande présentant l'aspect suivant dans une fenêtre d'invite de commandes :

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

Exécution de l'exemple

Pour exécuter l'exemple Oracle TVF

  1. Ouvrez le fichier Scripts\Test.sql dans Microsoft Management Studio ou dans un éditeur de texte tel que le Bloc-notes. Modifiez le script en remplaçant <server name>, <user name> et <password> par le nom du serveur Oracle que vous utilisez et les informations d'identification correspondant à ce serveur. Cet exemple est conçu pour s'exécuter avec l'exemple de base de données distribué par Oracle et associé par défaut à l'utilisateur scott même si votre administrateur de base de données peut nécessiter des informations d'identification différentes. Exécutez le script dans Management Studio ou enregistrez-le dans le Bloc-notes. Exécutez une commande similaire à celle-ci dans une fenêtre d'invite de commandes :

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

Suppression de l'exemple

Pour supprimer l'exemple Oracle TVF

  1. Ouvrez le fichier scripts\cleanup.sql dans Management Studio. Exécutez le script contenu dans le fichier ou exécutez la commande suivante dans une fenêtre d'invite de commandes :

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

Commentaires

Pour que cet exemple fonctionne correctement, vous devez activer le Common Language Runtime pour SQL Server 2005 ou SQL Server Express.

Les exemples sont fournis à titre éducatif uniquement. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucun support technique pour ces exemples. Les exemples d'applications et les assemblys ne doivent pas être utilisés avec votre base de données SQL Server de production ou votre serveur de rapports, ou y être connectés, sans l'autorisation de l'administrateur système.