sql >> Base de Datos >  >> RDS >> Mysql

Uso de MySQL con servicios heterogéneos de Oracle

Oracle Database Gateways permite que las aplicaciones cliente de Oracle accedan a bases de datos que no son de Oracle. Por ejemplo, Oracle SQL Developer y MySQL. Oracle Database Gateways y Heterogeneous Services (integrados en Oracle) presentan la apariencia de una única base de datos local de Oracle, aunque los datos puedan estar en Oracle, MySQL, SQL Server, etc.

Oracle Database Gateway para ODBC (DG4ODBC) integra de forma transparente las bases de datos ODBC con Oracle. ODBC proporciona una interfaz uniforme entre DBMS y aísla las aplicaciones de la base de datos mediante el uso de un middleware conocido como controlador ODBC para traducir las solicitudes de la aplicación en algo que la base de datos comprenda. Dado que utiliza un controlador ODBC para vincular Oracle con la base de datos de destino, DG4ODBC no está vinculado a una base de datos específica. Esta arquitectura flexible permite que Oracle coexista con cualquier base de datos para la que esté disponible un controlador ODBC.

Al usar DG4ODBC, puede usar inmediatamente sus aplicaciones de Oracle, tanto de Oracle como de terceros, para acceder a la información en una base de datos ODBC como si fuera una base de datos de Oracle. No es necesario recodificar ni reconfigurar las aplicaciones.

DG4ODBC viene como parte de Oracle 11g y versiones posteriores, sin costo adicional, y se puede usar con Oracle 10g y después. Para integrar bases de datos ODBC con versiones anteriores de Oracle, consulte nuestro tutorial de HSODBC.

Debido a que DG4ODBC puede conectar Oracle a cualquier base de datos para la que esté disponible un controlador ODBC, Oracle se refiere a DG4ODBC como un agente de conectividad genérico.

Puede usar un controlador ODBC de Easysoft con DG4ODBC para conectar Oracle a MySQL. Los pasos de esta guía son para MySQL y Oracle en Linux y UNIX.

  1. Compruebe si su versión de DG4ODBC es de 32 bits o de 64 bits:
    cd $ORACLE_HOME/bin
    file dg4odbc
                            

    Si el file La salida del comando contiene "ELF 64-bit LSB ejecutable", o algo similar, DG4ODBC es de 64 bits, descargue el controlador MySQL ODBC de 64 bits para su plataforma.

    De lo contrario, descargue el controlador ODBC de MySQL de 32 bits para su plataforma.

  2. Instale, obtenga la licencia y pruebe el controlador ODBC de MYSQL en la máquina donde está instalado DG4ODBC.

    Para obtener instrucciones de instalación, consulte la documentación del controlador ODBC de MySQL. Consulte la documentación para ver qué variables de entorno necesita configurar (LD_LIBRARY_PATH , LIBPATH , LD_RUN_PATH o SHLIB_PATH dependiendo de la plataforma y el enlazador).

  3. Cree un archivo de inicio DG4ODBC. Por ejemplo:
    cd $ORACLE_HOME/hs/admin
    cp initdg4odbc.ora initmysql.ora
                            
  4. Asegúrese de que estos parámetros y valores estén presentes en su archivo de inicio:
    HS_FDS_CONNECT_INFO = mysql_odbc_dsn
    HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
                            

    Reemplazar mysql_odbc_dsn con el nombre de un origen de datos del controlador ODBC de MySQL que se conecta a la base de datos MySQL de destino.

    Si su servidor MySQL no requiere que proporcione un nombre de usuario y una contraseña, incluya IgnoreAuth=Yes en el HS_FDS_CONNECT_INFO valor del parámetro. Por ejemplo:

    HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
    
  5. Agregue esta línea para aumentar la compatibilidad con Oracle/MySQL:
    HS_FDS_QUOTE_IDENTIFIER = FALSE
    
  6. Agregue una entrada a $ORACLE_HOME/network/admin/listener.ora que crea un SID_NAME para DG4ODBC. Por ejemplo:
    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)
       )
     )
    
                            

    Reemplazar oracle_home_directory con el valor de $ORACLE_HOME . Por ejemplo, /u01/app/oracle/product/11.2.0/dbhome_1/ .

  7. Agregue una entrada DG4ODBC a $ORACLE_HOME/network/admin/tnsnames.ora que especifica el SID_NAME creado en el paso anterior. Por ejemplo:
    mysql_connection=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521))
       (CONNECT_DATA= (SID=mysql))
       (HS=OK)
     )
                            
  8. Inicie (o reinicie) Oracle Listener:
    cd $ORACLE_HOME/bin
    ./lsnrctl stop
    ./lsnrctl start
                            
  9. Conéctese a su base de datos Oracle en SQL*Plus.
  10. En SQL*Plus, cree un enlace de base de datos para la base de datos MySQL de destino. Por ejemplo:
    CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
    "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
                            

    Reemplazar dbuser y contraseña de base de datos con un nombre de usuario y una contraseña válidos para la base de datos MySQL de destino.

    – O, si su servidor MySQL no requieren que proporcione un nombre de usuario y una contraseña:

    CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';