sql >> Databasteknik >  >> RDS >> Mysql

Använder MySQL med Oracle Heterogeneous Services

Oracle Database Gateways tillåter Oracle-klientapplikationer att få åtkomst till icke-Oracle-databaser. Till exempel Oracle SQL Developer och MySQL. Oracle Database Gateways och Heterogeneous Services (inbyggda i Oracle) presenterar utseendet på en enda lokal Oracle-databas, även om data kan finnas i Oracle, MySQL, SQL Server och så vidare.

Oracle Database Gateway för ODBC (DG4ODBC) integrerar transparent ODBC-databaser med Oracle. ODBC tillhandahåller ett enhetligt DBMS-gränssnitt och isolerar applikationer från databasen genom att använda mellanprogram känd som en ODBC-drivrutin för att översätta applikationens förfrågningar till något som databasen förstår. Eftersom den använder en ODBC-drivrutin för att länka Oracle till måldatabasen, är DG4ODBC inte knuten till en specifik databas. Denna flexibla arkitektur gör det möjligt för Oracle att samexistera med vilken databas som helst för vilken en ODBC-drivrutin är tillgänglig.

Genom att använda DG4ODBC kan du omedelbart använda dina Oracle-applikationer, både från Oracle och tredje part, för att komma åt information i en ODBC-databas som om det vore en Oracle-databas. Applikationer behöver inte kodas om eller omkonfigureras.

DG4ODBC kommer som en del av Oracle 11g och senare, utan extra kostnad, och kan användas med Oracle 10g och senare. För att integrera ODBC-databaser med tidigare versioner av Oracle, se vår HSODBC-handledning.

Eftersom DG4ODBC kan ansluta Oracle till vilken databas som helst för vilken en ODBC-drivrutin finns tillgänglig, hänvisar Oracle till DG4ODBC som en generisk anslutningsagent.

Du kan använda en Easysoft ODBC-drivrutin med DG4ODBC för att ansluta Oracle till MySQL. Stegen i den här guiden är för MySQL och Oracle på Linux och UNIX.

  1. Kontrollera om din version av DG4ODBC är 32-bitars eller 64-bitars:
    cd $ORACLE_HOME/bin
    file dg4odbc
                            

    Om file kommandots utdata innehåller "ELF 64-bitars LSB-körbar", eller något liknande, DG4ODBC är 64-bitars, ladda ner 64-bitars MySQL ODBC-drivrutinen för din plattform.

    Annars laddar du ner 32-bitars MySQL ODBC-drivrutinen för din plattform.

  2. Installera, licensiera och testa MYSQL ODBC-drivrutinen på maskinen där DG4ODBC är installerat.

    För installationsinstruktioner, se MySQL ODBC-drivrutinens dokumentation. Se dokumentationen för att se vilka miljövariabler du behöver ställa in (LD_LIBRARY_PATH , LIBPATH , LD_RUN_PATH eller SHLIB_PATH beroende på plattform och länk).

  3. Skapa en DG4ODBC init-fil. Till exempel:
    cd $ORACLE_HOME/hs/admin
    cp initdg4odbc.ora initmysql.ora
                            
  4. Se till att dessa parametrar och värden finns i din init-fil:
    HS_FDS_CONNECT_INFO = mysql_odbc_dsn
    HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
                            

    Ersätt mysql_odbc_dsn med namnet på en MySQL ODBC-drivrutinsdatakälla som ansluter till MySQL-måldatabasen.

    Om din MySQL-server inte gör det kräver att du anger ett användarnamn och ett lösenord, inkludera IgnoreAuth=Yes i HS_FDS_CONNECT_INFO parametervärde. Till exempel:

    HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
    
  5. Lägg till den här raden för att öka Oracle/MySQL-kompatibiliteten:
    HS_FDS_QUOTE_IDENTIFIER = FALSE
    
  6. Lägg till en post i $ORACLE_HOME/network/admin/listener.ora som skapar en SID_NAME för DG4ODBC. Till exempel:
    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)
       )
     )
    
                            

    Ersätt oracle_home_directory med värdet $ORACLE_HOME . Till exempel, /u01/app/oracle/product/11.2.0/dbhome_1/ .

  7. Lägg till en DG4ODBC-post i $ORACLE_HOME/network/admin/tnsnames.ora som anger SID_NAME som skapades i föregående steg. Till exempel:
    mysql_connection=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521))
       (CONNECT_DATA= (SID=mysql))
       (HS=OK)
     )
                            
  8. Starta (eller starta om) Oracle Listener:
    cd $ORACLE_HOME/bin
    ./lsnrctl stop
    ./lsnrctl start
                            
  9. Anslut till din Oracle-databas i SQL*Plus.
  10. Skapa en databaslänk för MySQL-måldatabasen i SQL*Plus. Till exempel:
    CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
    "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
                            

    Ersätt dbuser och dbpassword med ett giltigt användarnamn och lösenord för MySQL-måldatabasen.

    – Eller om din MySQL-server inte gör det kräver att du anger ett användarnamn och ett lösenord:

    CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';
    

  1. Använder caching contribs pg_prewarm och pg_hibernator i PostgreSQL 9.4.

  2. JDBC-anslutningen misslyckades, fel:TCP/IP-anslutningen till värden misslyckades

  3. Ändra kolumntyp och ange inte null

  4. Anslut till en heroku-databas med pgadmin