web-dev-qa-db-fra.com

Connexion Oracle 11g à Postgres via Dblink

J'ai accès administrateur à notre base de données Oracle, mais je vous demandais s'il est possible de connecter une base de données Oracle 11g à la base de données des postgres et, dans l'affirmative, quelles mesures devrais-je suivre.

J'ai vu quelques tutoriels mentionnent un ODBC pilote à installer, mais il semble que ce pilote doit être installé sur le serveur Oracle lui-même?

3
Tikkaty

Réponse de la communauté Wiki Réponse des réponses laissées en question Commentaires


a_horse_with_no_name :

Le pilote ODBC doit être sur l'ordinateur qui se connecte au serveur Oracle non sur le serveur Oracle lui-même. De plus: Vous ne pouvez pas utiliser Dblink pour cela, Postgres 'Dlkink ne peut se connecter à d'autres serveurs Postgres. Mais vous pouvez utiliser une emballage de données étrangères. Vous n'avez besoin que des bibliothèques client Oracle (pas le pilote ODBC) sur le serveur Postgres, rien ne doit être installé sur le serveur Oracle.

Si vous n'avez pas accès à l'administrateur à la base de données Oracle, vous pouvez modifier quoi que ce soit dans Postgres, vous ne pouvez rien faire. Dblink d'Oracle ne peut se connecter que sur d'autres serveurs Oracle. Vous pouvez installer les "services hétérogènes" d'Oracle pour pouvoir se connecter via ODBC (le pilote Postgres ODBC _, pas l'oracle One), mais qui nécessiterait à nouveau que vous disposiez d'un accès administrateur à la Base de données Oracle.

Vous avez besoin d'installer les "services hétérogènes" d'Oracle, puis installez le pilote ODBC pour Postgres , pas celui pour Oracle.


Edstevens :

C'est plus que le conducteur ODBC. Vous devrez installer la passerelle Oracle Transparent pour ODBC. La base de données Oracle envoie une demande client à l'auditeur Oracle, qui utilise un fichier de configuration de passerelle pour résoudre davantage la demande d'un ODBC DSN. Les instructions complètes sont assez complexes mais j'ai n article décrivant les pièces et leurs connexions. Cela devrait vous donner un bon aperçu et un bon cadre avec lequel comprendre les instructions plus détaillées.

Vous aurez besoin de la passerelle Oracle et Le pilote Postgres ODBC. Le meilleur lien que je pouvais trouver était ceci:

Où télécharger DG4ODBC de?

Bien sûr, lorsque vous arrivez là-bas, vous voudrez vous adapter à votre version. Pour le conducteur ODBC, cela viendrait de Postgres.

2
Paul White 9

Ce qui doit être fait dépend de l'emplacement de l'initiative de connexion. Si l'initiative est effectuée à partir du côté Oracle, vous pouvez utiliser DG4ODBC et la configurer avec les détails du pilote ODBC et de la connexion de la base de données Pontgress.

dG4ODBC établit un type particulier de processus d'auditeur que vous appelez à l'aide d'un alias TNS régulier. Ce processus d'auditeur doit être sur la même machine est le ODBC pilote mais ne doit pas nécessairement être sur le serveur de base de données. Offrez-vous, le serveur DATBASE a un processus d'auditeur, mais rien n'est peut-être une licence - Vous empêche de configurer un auditeur dédié pour DG4ODBC sur une macine distincte.

Dans votre base de données Oracle, vous configurez un lien de base de données qui utilise votre alias TNS qui pointe vers l'auditeur spécial.

1
ik_zelf

Oui le ODBC Le pilote doit être installé sur le serveur Oracle. Pour l'oracle 11G, vous aurez besoin de la version 64 bits du ODBC pilote, depuis le DG4ODBC est 64 bits.

0
Spithas