Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden von MySQL mit Oracle Heterogeneous Services

Oracle Database Gateways ermöglichen Oracle-Clientanwendungen den Zugriff auf Nicht-Oracle-Datenbanken. Zum Beispiel Oracle SQL Developer und MySQL. Oracle-Datenbank-Gateways und heterogene Dienste (in Oracle integriert) stellen das Erscheinungsbild einer einzelnen, lokalen Oracle-Datenbank dar, obwohl sich die Daten möglicherweise in Oracle, MySQL, SQL Server usw. befinden.

Das Oracle Database Gateway for ODBC (DG4ODBC) integriert ODBC-Datenbanken transparent in Oracle. ODBC bietet eine einheitliche, DBMS-übergreifende Schnittstelle und isoliert Anwendungen von der Datenbank, indem es Middleware verwendet, die als ODBC-Treiber bekannt ist, um die Anforderungen der Anwendung in etwas zu übersetzen, das die Datenbank versteht. Da es einen ODBC-Treiber verwendet, um Oracle mit der Zieldatenbank zu verknüpfen, ist DG4ODBC nicht an eine bestimmte Datenbank gebunden. Diese flexible Architektur ermöglicht es Oracle, mit jeder Datenbank zu koexistieren, für die ein ODBC-Treiber verfügbar ist.

Durch die Verwendung von DG4ODBC können Sie Ihre Oracle-Anwendungen, sowohl von Oracle als auch von Drittanbietern, sofort verwenden, um auf Informationen in einer ODBC-Datenbank zuzugreifen, als wäre es eine Oracle-Datenbank. Anwendungen müssen nicht umcodiert oder neu konfiguriert werden.

DG4ODBC ist Teil von Oracle 11g und höher ohne zusätzliche Kosten und kann mit Oracle 10g verwendet werden und später. Informationen zur Integration von ODBC-Datenbanken in frühere Versionen von Oracle finden Sie in unserem HSODBC-Tutorial.

Da DG4ODBC Oracle mit jeder Datenbank verbinden kann, für die ein ODBC-Treiber verfügbar ist, bezeichnet Oracle DG4ODBC als generischen Konnektivitätsagenten.

Sie können einen Easysoft ODBC-Treiber mit DG4ODBC verwenden, um Oracle mit MySQL zu verbinden. Die Schritte in diesem Handbuch gelten für MySQL und Oracle unter Linux und UNIX.

  1. Überprüfen Sie, ob Ihre Version von DG4ODBC 32-Bit oder 64-Bit ist:
    cd $ORACLE_HOME/bin
    file dg4odbc
                            

    Wenn die file Die Ausgabe des Befehls enthält „ELF 64-Bit LSB Executable“ oder etwas Ähnliches, DG4ODBC ist 64-Bit, laden Sie den 64-Bit-MySQL-ODBC-Treiber für Ihre Plattform herunter.

    Laden Sie andernfalls den 32-Bit-MySQL-ODBC-Treiber für Ihre Plattform herunter.

  2. Installieren, lizenzieren und testen Sie den MYSQL ODBC-Treiber auf dem Rechner, auf dem DG4ODBC installiert ist.

    Installationsanweisungen finden Sie in der Dokumentation zum MySQL-ODBC-Treiber. Sehen Sie in der Dokumentation nach, welche Umgebungsvariablen Sie festlegen müssen (LD_LIBRARY_PATH , LIBPATH , LD_RUN_PATH oder SHLIB_PATH abhängig von Plattform und Linker).

  3. Erstellen Sie eine DG4ODBC-Init-Datei. Beispiel:
    cd $ORACLE_HOME/hs/admin
    cp initdg4odbc.ora initmysql.ora
                            
  4. Stellen Sie sicher, dass diese Parameter und Werte in Ihrer Init-Datei vorhanden sind:
    HS_FDS_CONNECT_INFO = mysql_odbc_dsn
    HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
                            

    Ersetzen Sie mysql_odbc_dsn mit dem Namen einer MySQL-ODBC-Treiberdatenquelle, die eine Verbindung zur MySQL-Zieldatenbank herstellt.

    Wenn Ihr MySQL-Server dies nicht tut erfordern, dass Sie einen Benutzernamen und ein Passwort angeben, fügen Sie IgnoreAuth=Yes hinzu im HS_FDS_CONNECT_INFO Parameterwert. Zum Beispiel:

    HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
    
  5. Fügen Sie diese Zeile hinzu, um die Oracle/MySQL-Kompatibilität zu erhöhen:
    HS_FDS_QUOTE_IDENTIFIER = FALSE
    
  6. Fügen Sie einen Eintrag zu $ORACLE_HOME/network/admin/listener.ora hinzu die einen SID_NAME für DG4ODBC erstellt. Zum Beispiel:
    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)
       )
     )
    
                            

    Ersetzen Sie oracle_home_directory mit dem Wert von $ORACLE_HOME . Beispiel:/u01/app/oracle/product/11.2.0/dbhome_1/ .

  7. Fügen Sie $ORACLE_HOME/network/admin/tnsnames.ora einen DG4ODBC-Eintrag hinzu die den im vorherigen Schritt erstellten SID_NAME angibt. Beispiel:
    mysql_connection=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521))
       (CONNECT_DATA= (SID=mysql))
       (HS=OK)
     )
                            
  8. Starten (oder starten) Sie den Oracle Listener:
    cd $ORACLE_HOME/bin
    ./lsnrctl stop
    ./lsnrctl start
                            
  9. Verbinden Sie sich mit Ihrer Oracle-Datenbank in SQL*Plus.
  10. Erstellen Sie in SQL*Plus einen Datenbanklink für die MySQL-Zieldatenbank. Zum Beispiel:
    CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
    "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
                            

    Ersetzen Sie dbuser und dbpasswort mit einem gültigen Benutzernamen und Passwort für die Ziel-MySQL-Datenbank.

    – Oder, falls Ihr MySQL-Server dies nicht tut verlangen, dass Sie einen Benutzernamen und ein Passwort angeben:

    CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';