segunda-feira, 2 de junho de 2008

Oracle XE + forms 6i

Um cliente, a pouco tempo, me pediu um pequeno sistema para controlar seus projetos. Estudando o caso, optei por desenvolve-lo utilizando a ferramenta Oracle Forms na versão 6i. Para o banco de dados, optei pelo Oracle XE, pelo fato de o mesmo não apresentar custo para bancos pequenos, até 4 GB.

Só que no momento de integrar os dois, aconteceu algo inexperado. Eles não comunicavam. Configurei o tnsnames e nada. Não tinha jeito. Neste momento, só me restou uma alternativa: Google IT. E após pesquisar um pouco, encontrei uma solução que em primeiro momento me pareceu estapafúrdia, mas que veio a salvar meu projeto. O forms 6i não comunica com a versão universal do oracle XE, não sei porquê, mas somente com a versão Western do Oracle XE. Desintalei a versão universal, baixei a western e instalei. E por um passe de mágica, passou a funcionar...

Logo após, fui testar a comunicação remota, instalei em outra máquina o cliente do oracle XE e nada do mesmo comunicar novamente. E para minha surpresa, CADÊ O TNSNAMES???
Dai novamente fui atrás dos sábios conhecimentos da grande rede. E lá encontrei que a versão XE não necessita mais do tnsnames, é só passar no lugar do db o ip e serviço, ao invés do serviço do tnsnames. Testei isso e nada de conectar. Deixo para meus caros colegas a tentativa de fazer o teste. Se funcionar, postem aqui suas soluções...
Depois de conversar com o milton do grupo amigos_oracle pelo MSN, ele me chamou a atenção para o real problema. A rede. Sim, era a rede, o maldito firewall do windows, que trancava a conecção. Foi só liberar a porta 1521 do servidor, que novamente por mágica, o forms conectou, claro que desta vez utilizando o tnsnames da pasta orant que o runtime do forms 6i instalou para mim, e que eu modifiquei...

E esta foi a minha saga com o Oracle XE. Espero que os tentem se aventurar com este banco leiam este relato para não passar tantos percausos para conseguir comunicar com o mesmo...