Oracle Database Gateways geven Oracle-clienttoepassingen toegang tot niet-Oracle-databases. Bijvoorbeeld Oracle SQL Developer en MySQL. Oracle Database Gateways en heterogene services (ingebouwd in Oracle) geven het uiterlijk van een enkele, lokale Oracle-database, ook al bevinden de gegevens zich mogelijk in Oracle, MySQL, SQL Server enzovoort.
De Oracle Database Gateway for ODBC (DG4ODBC) integreert transparant ODBC-databases met Oracle. ODBC biedt een uniforme, cross-DBMS-interface en isoleert applicaties van de database door middel van middleware die bekend staat als een ODBC-stuurprogramma om de verzoeken van de applicatie te vertalen in iets dat de database begrijpt. Omdat het een ODBC-stuurprogramma gebruikt om Oracle aan de doeldatabase te koppelen, is DG4ODBC niet gebonden aan een specifieke database. Dankzij deze flexibele architectuur kan Oracle naast elke database bestaan waarvoor een ODBC-stuurprogramma beschikbaar is.
Door DG4ODBC te gebruiken, kunt u uw Oracle-applicaties, zowel van Oracle als van derden, onmiddellijk gebruiken om toegang te krijgen tot informatie in een ODBC-database alsof het een Oracle-database is. Applicaties hoeven niet opnieuw gecodeerd of geconfigureerd te worden.
DG4ODBC komt als onderdeel van Oracle 11g en later, zonder extra kosten, en kan worden gebruikt met Oracle 10g en later. Raadpleeg onze HSODBC-zelfstudie om ODBC-databases te integreren met eerdere versies van Oracle.
Omdat DG4ODBC Oracle kan verbinden met elke database waarvoor een ODBC-stuurprogramma beschikbaar is, verwijst Oracle naar DG4ODBC als een generieke connectiviteitsagent.
U kunt een Easysoft ODBC-stuurprogramma met DG4ODBC gebruiken om Oracle te verbinden met MySQL. De stappen in deze handleiding zijn voor MySQL en Oracle op Linux en UNIX.
- Controleer of uw versie van DG4ODBC 32-bits of 64-bits is:
cd $ORACLE_HOME/bin file dg4odbc
Als het
file
de uitvoer van de opdracht "ELF 64-bit LSB executable" of iets dergelijks bevat, DG4ODBC is 64-bit, download de 64-bit MySQL ODBC-driver voor uw platform.Download anders het 32-bits MySQL ODBC-stuurprogramma voor uw platform.
- Installeer, licentieer en test het MYSQL ODBC-stuurprogramma op de machine waarop DG4ODBC is geïnstalleerd.
Zie de MySQL ODBC-stuurprogrammadocumentatie voor installatie-instructies. Raadpleeg de documentatie om te zien welke omgevingsvariabelen u moet instellen (
LD_LIBRARY_PATH
,LIBPATH
,LD_RUN_PATH
ofSHLIB_PATH
afhankelijk van het platform en de linker). - Maak een DG4ODBC init-bestand. Bijvoorbeeld:
cd $ORACLE_HOME/hs/admin cp initdg4odbc.ora initmysql.ora
- Zorg ervoor dat deze parameters en waarden aanwezig zijn in uw init-bestand:
HS_FDS_CONNECT_INFO = mysql_odbc_dsn HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
Vervang mysql_odbc_dsn met de naam van een MySQL ODBC-stuurprogrammagegevensbron die verbinding maakt met de MySQL-doeldatabase.
Als uw MySQL-server niet . doet vereisen dat u een gebruikersnaam en een wachtwoord opgeeft, inclusief
IgnoreAuth=Yes
in deHS_FDS_CONNECT_INFO
parameterwaarde. Bijvoorbeeld:HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
- Voeg deze regel toe om de compatibiliteit met Oracle / MySQL te vergroten:
HS_FDS_QUOTE_IDENTIFIER = FALSE
- Voeg een item toe aan
$ORACLE_HOME/network/admin/listener.ora
dat maakt een SID_NAME voor DG4ODBC. Bijvoorbeeld:SID_LIST_LISTENER = (SID_LIST = (SID_DESC= (SID_NAME=mysql) (ORACLE_HOME=oracle_home_directory) (PROGRAM=dg4odbc) (ENVS=LD_LIBRARY_PATH = /usr/local/easysoft/unixODBC/lib: /usr/local/easysoft/lib) ) )
Vervang oracle_home_directory met de waarde van
$ORACLE_HOME
. Bijvoorbeeld/u01/app/oracle/product/11.2.0/dbhome_1/
. - Voeg een DG4ODBC-item toe aan
$ORACLE_HOME/network/admin/tnsnames.ora
die de SID_NAME specificeert die in de vorige stap is gemaakt. Bijvoorbeeld:mysql_connection= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521)) (CONNECT_DATA= (SID=mysql)) (HS=OK) )
- Start (of herstart) de Oracle Listener:
cd $ORACLE_HOME/bin ./lsnrctl stop ./lsnrctl start
- Maak verbinding met uw Oracle-database in SQL*Plus.
- Maak in SQL*Plus een databasekoppeling voor de MySQL-doeldatabase. Bijvoorbeeld:
CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
Vervang dbuser en dbwachtwoord met een geldige gebruikersnaam en wachtwoord voor de MySQL-doeldatabase.
– Of, als uw MySQL-server niet vereisen dat u een gebruikersnaam en een wachtwoord invoert:
CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';