Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando o MySQL com os Serviços Heterogêneos da Oracle


Os Oracle Database Gateways permitem que aplicativos cliente Oracle acessem bancos de dados não Oracle. Por exemplo, Oracle SQL Developer e MySQL. Os Gateways de Banco de Dados Oracle e os Serviços Heterogêneos (integrados no Oracle) apresentam a aparência de um único banco de dados Oracle local, mesmo que os dados possam estar em Oracle, MySQL, SQL Server e assim por diante.

O Oracle Database Gateway para ODBC (DG4ODBC) integra de forma transparente bancos de dados ODBC com Oracle. O ODBC fornece uma interface uniforme entre DBMS e isola os aplicativos do banco de dados usando middleware conhecido como driver ODBC para traduzir as solicitações do aplicativo em algo que o banco de dados entenda. Como ele usa um driver ODBC para vincular o Oracle ao banco de dados de destino, o DG4ODBC não está vinculado a um banco de dados específico. Essa arquitetura flexível permite que o Oracle coexista com qualquer banco de dados para o qual um driver ODBC esteja disponível.

Ao usar o DG4ODBC, você pode usar imediatamente seus aplicativos Oracle, tanto da Oracle quanto de terceiros, para acessar informações em um banco de dados ODBC como se fosse um banco de dados Oracle. Os aplicativos não precisam ser recodificados ou reconfigurados.

DG4ODBC vem como parte do Oracle 11g e posterior, sem custo adicional, e pode ser usado com o Oracle 10g e depois. Para integrar bancos de dados ODBC com versões anteriores do Oracle, consulte nosso tutorial HSODBC.

Como o DG4ODBC pode conectar o Oracle a qualquer banco de dados para o qual um driver ODBC esteja disponível, o Oracle se refere ao DG4ODBC como um agente de conectividade genérico.

Você pode usar um driver ODBC Easysoft com DG4ODBC para conectar o Oracle ao MySQL. As etapas neste guia são para MySQL e Oracle em Linux e UNIX.
  1. Verifique se sua versão do DG4ODBC é de 32 bits ou 64 bits:
    cd $ORACLE_HOME/bin
    file dg4odbc
                            

    Se o file A saída do comando contém "ELF 64-bit LSB executável", ou algo semelhante, DG4ODBC é de 64 bits, baixe o driver ODBC MySQL de 64 bits para sua plataforma.
    Caso contrário, baixe o driver ODBC MySQL de 32 bits para sua plataforma.
  2. Instale, licencie e teste o driver MYSQL ODBC na máquina onde o DG4ODBC está instalado.
    Para obter instruções de instalação, consulte a documentação do driver MySQL ODBC. Consulte a documentação para ver quais variáveis ​​de ambiente você precisa definir (LD_LIBRARY_PATH , LIBPATH , LD_RUN_PATH ou SHLIB_PATH dependendo da plataforma e do vinculador).
  3. Crie um arquivo init DG4ODBC. Por exemplo:
    cd $ORACLE_HOME/hs/admin
    cp initdg4odbc.ora initmysql.ora
                            
  4. Certifique-se de que esses parâmetros e valores estejam presentes em seu arquivo init:
    HS_FDS_CONNECT_INFO = mysql_odbc_dsn
    HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
                            

    Substitua mysql_odbc_dsn com o nome de uma fonte de dados do driver ODBC MySQL que se conecta ao banco de dados MySQL de destino.

    Se o seu servidor MySQL não exigir que você forneça um nome de usuário e uma senha, inclua IgnoreAuth=Yes no HS_FDS_CONNECT_INFO valor do parâmetro. Por exemplo:
    HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
    
  5. Adicione esta linha para aumentar a compatibilidade Oracle/MySQL:
    HS_FDS_QUOTE_IDENTIFIER = FALSE
    
  6. Adicione uma entrada a $ORACLE_HOME/network/admin/listener.ora que cria um SID_NAME para DG4ODBC. Por exemplo:
    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)
       )
     )
    
                            

    Substitua oracle_home_directory com o valor de $ORACLE_HOME . Por exemplo, /u01/app/oracle/product/11.2.0/dbhome_1/ .
  7. Adicione uma entrada DG4ODBC a $ORACLE_HOME/network/admin/tnsnames.ora que especifica o SID_NAME criado na etapa anterior. Por exemplo:
    mysql_connection=
     (DESCRIPTION=
       (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521))
       (CONNECT_DATA= (SID=mysql))
       (HS=OK)
     )
                            
  8. Inicie (ou reinicie) o Oracle Listener:
    cd $ORACLE_HOME/bin
    ./lsnrctl stop
    ./lsnrctl start
                            
  9. Conecte-se ao seu banco de dados Oracle no SQL*Plus.
  10. No SQL*Plus, crie um link de banco de dados para o banco de dados MySQL de destino. Por exemplo:
    CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
    "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
                            

    Substitua dbuser e dbpassword com um nome de usuário e senha válidos para o banco de dados MySQL de destino.

    – Ou, se o seu servidor MySQL não exigir que você forneça um nome de usuário e uma senha:
    CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';