Pessoal,
Preciso fazer um dblink de um banco Oracle 11g para um banco mysql 5.1.
Pesquisei no pai do burros o google e achei varias coisas, mas não consigo ainda essa conexão.
Alguém já fez isso e poderia compartilhar.
Qualquer dica e bem vindo.
Abs..
DBLINK DO ORACLE PARA MYSQL
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Olá Madmax !
Este link abaixo me parece bem confiável e descreve passo a passo a criação de um DBLINK apontando do ORACLE para o MYSQL:
http://lists.mysql.com/mysql/189287
Infelizmente eu não tive tempo de reproduzir estas instruções.
Se eu conseguir posteriormente, vou postar por aqui, ok?
Abraços,
Sergio Coutinho
Este link abaixo me parece bem confiável e descreve passo a passo a criação de um DBLINK apontando do ORACLE para o MYSQL:
http://lists.mysql.com/mysql/189287
Infelizmente eu não tive tempo de reproduzir estas instruções.
Se eu conseguir posteriormente, vou postar por aqui, ok?
Abraços,
Sergio Coutinho
- stcoutinho
- Moderador
- Mensagens: 850
- Registrado em: Qua, 11 Mai 2011 5:15 pm
- Localização: são Paulo - SP
Madmax,
O link que te passei anteriormente parece explicar como criar um DBLINK do ORACLE para o SQL para o release ORACLE 10G.
No caso do 11G, o programa HSODBC do 10G foi substituido pelo DG4ODBC.
Basicamente, eu segui as recomendações do link anterior (no WINDOWS) com algumas alterações:
- Criação do DRIVE ODBC de nome MySQL5(crei uma conexão ODBC no Windows - o chamado DNS). Neste ODBC você informa o usuário e senha (ex: ROOT) e depois posiciona na base desejada (ex: SAKILA);
- Criei o arquivo initMySQL5.ora no subdiretório hs (apontando para o Driver MySQL5);
- Configurei o meu LISTENER.ORA para aceitar o programa dg4odbc.exe, informando o caminho completo:
- Configurei o TNSNAMES.ORA para mapear a base MYSQL:
- Executei o comando :
- Reiniciei o Listener do XE;
- FIz um teste de SELECT em uma das tabelas. ENTRETANTO, os campos data vieram com caracteres estranhos. É importante avaliar se algo mais precisa ser configurado p(ex: CHARSET) para permitir uma correta visaulização dfdos dados do MYSQL.
Encontrei informações adicionais neste link : https://forums.oracle.com/thread/2283007
Boa sorte e poste aqui a sua solução, se conseguir configurar com sucesso.
Abraços,
Sergio Coutinho
O link que te passei anteriormente parece explicar como criar um DBLINK do ORACLE para o SQL para o release ORACLE 10G.
No caso do 11G, o programa HSODBC do 10G foi substituido pelo DG4ODBC.
Basicamente, eu segui as recomendações do link anterior (no WINDOWS) com algumas alterações:
- Criação do DRIVE ODBC de nome MySQL5(crei uma conexão ODBC no Windows - o chamado DNS). Neste ODBC você informa o usuário e senha (ex: ROOT) e depois posiciona na base desejada (ex: SAKILA);
- Criei o arquivo initMySQL5.ora no subdiretório hs (apontando para o Driver MySQL5);
- Configurei o meu LISTENER.ORA para aceitar o programa dg4odbc.exe, informando o caminho completo:
(SID_DESC =
(SID_NAME=MySQL5)
(ORACLE_HOME = D:\oracle\product\xe11g\app\oracle\product\11.2.0\server)
(PROGRAM=D:\oracle\product\xe11g\app\oracle\product\11.2.0\server\bin\dg4odbc.exe)
)
# Teste de DBLINK com o MYSQL Local
MySQL5.world =
(DESCRIPTION=
(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))
(CONNECT_DATA=(SID=MySQL5))
(HS=OK)
)
- Executei o comando :
ALTER SYSTEM SET GLOBAL_NAMES=false;
- FIz um teste de SELECT em uma das tabelas. ENTRETANTO, os campos data vieram com caracteres estranhos. É importante avaliar se algo mais precisa ser configurado p(ex: CHARSET) para permitir uma correta visaulização dfdos dados do MYSQL.
Encontrei informações adicionais neste link : https://forums.oracle.com/thread/2283007
Boa sorte e poste aqui a sua solução, se conseguir configurar com sucesso.
Abraços,
Sergio Coutinho
- madmax
- Rank: DBA Pleno
- Mensagens: 293
- Registrado em: Qua, 13 Dez 2006 5:02 pm
- Localização: São Paulo
- Contato:
________________________________
Douglas - Madmax.
Douglas - Madmax.
Grande Sergio...
Consegui fazer o dblink do Oracle para o Mysql seguindo essas dicas sua Obrigado.
E vou deixar uma dica importante aqui para converter as data timestamp Mysql para o Oracle.
E bem simples e so fazer deste forma o select
Agora uma explicação o porque fazer desta forma:
Tem que usar esse formato fixo '01-JAN-1970' porque o mysql timestamp foi criado no formato timestamp Unix que os número de segundos que se passaram desde 1 de janeiro de 1970 (meia-noite UTC / GMT), não contando os segundos bissextos (em ISO 8601: 1970-01-01T00: 00 : 00Z).
Espero que ajudem esse post.
Abs..
Consegui fazer o dblink do Oracle para o Mysql seguindo essas dicas sua Obrigado.
E vou deixar uma dica importante aqui para converter as data timestamp Mysql para o Oracle.
E bem simples e so fazer deste forma o select
select to_date('01-JAN-1970','dd-mon-yyyy')+(SUBSTR(COLUNA_MYSQL,1,10)/60/60/24) DATA_CRIACAO from TABELA_MYSQL@DBLINK
Tem que usar esse formato fixo '01-JAN-1970' porque o mysql timestamp foi criado no formato timestamp Unix que os número de segundos que se passaram desde 1 de janeiro de 1970 (meia-noite UTC / GMT), não contando os segundos bissextos (em ISO 8601: 1970-01-01T00: 00 : 00Z).
Espero que ajudem esse post.
Abs..
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes