web-dev-qa-db-fra.com

Comment installer Oracle OLE pilotes à utiliser dans SQL Server 2008 R2 X64

Conformément à la procédure standard, nous avons utilisé depuis des années pour les versions précédentes de Oracle et SQL Server, j'ai installé le dernier paquet de ODAC Oracle, qui comprend l'Oracle OLE pilote sur notre nouveau SQL Server 2008 R2 noeuds x64. J'ai fait le redémarrage du système recommandée, mais OraOLEDB.Oracle ne montre pas dans les serveurs liés de nœud de fournisseurs dans SSMS. la seule différence entre cette installation et les installations antérieures SQL Server est que je suis maintenant en utilisant x64 SQL Server ( sur Windows 2008 R2). cela devrait rendre une différence?

Notez que je suis capable de se connecter à des serveurs Oracle en utilisant SQL * Plus à partir des nœuds SQL Server directement. La seule chose que je manque est ce fournisseur. Tout le monde sait ce que je suis absent? Il y a beaucoup de messages sur le web, mais il semble y avoir beaucoup de confusion et des liens obsolètes à la page de téléchargement d'Oracle.

La seule chose que je dois être en mesure de faire est de créer un serveur lié à Oracle, et exécuter les requêtes SELECT contre elle. Je ne ai pas besoin de quoi que ce soit par Visual Studio.

10
SomeGuy

Après des heures de recherche, j'ai réussi à concocter des instructions de travail pour Oracle 11g R2. Comme il se trouve, vous aurez probablement besoin à la fois les 32 et 64 bits clients installés pour avoir des choses de travail dans BIDS/Visual Studio/SSMS. J'ai installé plusieurs composants Oracle que je avais besoin, mais voici ce qui a fonctionné pour moi:

  1. Télécharger 32 et clients 64 bits de http://www.Oracle.com/technetwork/database/enterprise-edition/downloads/index.html (cliquez sur " voir tous " pour voir des versions différentes, sinon , vous allez télécharger le programme complet Oracle. Vos téléchargements devraient être d'environ 600 meg chacun)
  2. Exécutez installation 32 bits sur le serveur SQL. Sélectionnez " Custom "
  3. Pour la base Oracle, entrez "C:\Oracle"
  4. Pour "Software Lieu", changement C: produit de\Oracle\11.2.0\client _ 32
  5. Choisissez les composants suivants:
  6. SQL * Plus
  7. Oracle Call Interface (OCI)
  8. Oracle net
  9. Oracle Services for Microsoft Transaction Server
  10. Assistant Oracle administration pour Windows
  11. Fournisseur Oracle pour OLE
  12. Oracle Data Provider for .NET
  13. Les fournisseurs Oracle pour ASP.NET
  14. Répéter les étapes ci-dessus avec le programme d'installation 64 bits. Cependant, le changement le "Logiciel Lieu" C: produit de\Oracle\11.2.0\client _ 64
  15. Je suis une erreur de mémoire à ce point, mais il a choisi de l'ignorer parce que je sais qu'il ya assez
  16. Ignorer l'erreur " OracleMTSRecoveryService existe déjà "

Maintenant que l'installation se fait, juste besoin de Tweak quelques petites choses.

  1. Apportez des modifications de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\MTXOCI
  2. OracleOciLib devrait être oci.dll
  3. OracleSqlLib devrait être orasql11.dll
  4. OracleXaLib devrait être oraclient11.dll
  5. Marque même changements de registre HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\MSDTC\MTXOCI
  6. Créer ou copier une nouvelle tnsnames.ora dans C: produit de\Oracle\11.2.0\client _ 32 \réseau\admin
  7. Créer ou copier une nouvelle tnsnames.ora dans C: produit de\Oracle\11.2.0\client _ 64 \réseau\admin
  8. Reboot!
  9. Vous devriez maintenant voir OraOLEDB.Oracle en tant que fournisseur sous Serveurs liés\Fournisseurs à SSMS
  10. Faites un clic droit ce fournisseur, puis sur Propriétés, puis cochez la case " Autoriser Inprocess "
  11. Vous pouvez maintenant créer le serveur lié via l'interface graphique ou T-SQL

Bonne chance!

15
SomeGuy