Oracle Database Gateways giver Oracle-klientapplikationer adgang til ikke-Oracle-databaser. For eksempel Oracle SQL Developer og MySQL. Oracle Database Gateways og Heterogene Services (indbygget i Oracle) præsenterer udseendet af en enkelt, lokal Oracle-database, selvom dataene kan være i Oracle, MySQL, SQL Server og så videre.
Oracle Database Gateway for ODBC (DG4ODBC) integrerer transparent ODBC-databaser med Oracle. ODBC giver en ensartet DBMS-grænseflade og isolerer applikationer fra databasen ved at bruge middleware kendt som en ODBC-driver til at oversætte applikationens anmodninger til noget, som databasen forstår. Fordi den bruger en ODBC-driver til at linke Oracle til måldatabasen, er DG4ODBC ikke bundet til en specifik database. Denne fleksible arkitektur gør det muligt for Oracle at sameksistere med enhver database, for hvilken der er en ODBC-driver tilgængelig.
Ved at bruge DG4ODBC kan du straks bruge dine Oracle-applikationer, både fra Oracle og tredjeparter, til at få adgang til oplysninger i en ODBC-database, som om det var en Oracle-database. Applikationer behøver ikke at blive omkodet eller omkonfigureret.
DG4ODBC kommer som en del af Oracle 11g og senere uden ekstra omkostninger og kan bruges med Oracle 10g og senere. For at integrere ODBC-databaser med tidligere versioner af Oracle, se vores HSODBC-vejledning.
Fordi DG4ODBC kan forbinde Oracle til enhver database, som en ODBC-driver er tilgængelig for, henviser Oracle til DG4ODBC som en generisk forbindelsesagent.
Du kan bruge en Easysoft ODBC-driver med DG4ODBC til at forbinde Oracle til MySQL. Trinene i denne vejledning er for MySQL og Oracle på Linux og UNIX.
- Tjek, om din version af DG4ODBC er 32-bit eller 64-bit:
cd $ORACLE_HOME/bin file dg4odbc
Hvis
file
kommandoens output indeholder "ELF 64-bit LSB eksekverbar", eller noget lignende, DG4ODBC er 64-bit, download 64-bit MySQL ODBC-driveren til din platform.Ellers skal du downloade 32-bit MySQL ODBC-driveren til din platform.
- Installer, licenser og test MYSQL ODBC-driveren på den maskine, hvor DG4ODBC er installeret.
For installationsinstruktioner, se MySQL ODBC-driverdokumentationen. Se dokumentationen for at se, hvilke miljøvariabler du skal indstille (
LD_LIBRARY_PATH
,LIBPATH
,LD_RUN_PATH
ellerSHLIB_PATH
afhængig af platform og linker). - Opret en DG4ODBC init-fil. For eksempel:
cd $ORACLE_HOME/hs/admin cp initdg4odbc.ora initmysql.ora
- Sørg for, at disse parametre og værdier er til stede i din init-fil:
HS_FDS_CONNECT_INFO = mysql_odbc_dsn HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
Erstat mysql_odbc_dsn med navnet på en MySQL ODBC-driverdatakilde, der forbinder til MySQL-måldatabasen.
Hvis din MySQL-server ikke gør det kræver, at du angiver et brugernavn og en adgangskode, skal du inkludere
IgnoreAuth=Yes
iHS_FDS_CONNECT_INFO
parameterværdi. For eksempel:HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
- Tilføj denne linje for at øge Oracle/MySQL-kompatibiliteten:
HS_FDS_QUOTE_IDENTIFIER = FALSE
- Tilføj en post til
$ORACLE_HOME/network/admin/listener.ora
der opretter en SID_NAME for DG4ODBC. For eksempel: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) ) )
Erstat oracle_home_directory med værdien
$ORACLE_HOME
. For eksempel/u01/app/oracle/product/11.2.0/dbhome_1/
. - Tilføj en DG4ODBC-post til
$ORACLE_HOME/network/admin/tnsnames.ora
der specificerer SID_NAME oprettet i det forrige trin. For eksempel:mysql_connection= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521)) (CONNECT_DATA= (SID=mysql)) (HS=OK) )
- Start (eller genstart) Oracle Listener:
cd $ORACLE_HOME/bin ./lsnrctl stop ./lsnrctl start
- Opret forbindelse til din Oracle-database i SQL*Plus.
- I SQL*Plus skal du oprette et databaselink til MySQL-måldatabasen. For eksempel:
CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
Erstat dbuser og dbpassword med et gyldigt brugernavn og adgangskode til MySQL-måldatabasen.
– Eller hvis din MySQL-server ikke gør det kræver, at du angiver et brugernavn og en adgangskode:
CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';