Re: [oracle_br] Re: Oracle 12c + Delphi Xe8
Chiappa, Bom Dia, Então, a instalação foi feita do cliente da mesma forma que você fez, porém, sem qualquer explicação quando tentamos conectar pelo OraOleDB Provider não conecta, e isto não é só pelo Delphi não. Se criarmos um arquivo com o nome teste.udl, ele nos permite fazer a configuração da string de conexão com o oracle, fora do Delphi, apenas ambiente windows. No momento eu resolvi o problema criando uma conexão pelo ODBC, sei que não é o melhor caminho, mas preciso concluir o desenvolvimento para o cliente que está atrasado e assim que acabar retomo este processo de configuração. Agradeço pela atenção até o momento. Abraço Samuca Em quarta-feira, 6 de março de 2019 21:54:52 BRT, jlchia...@yahoo.com.br [oracle_br] escreveu: Blz ? pessoal, apenas para registro, fui fazer um teste num notebook Windows 8.1 64-bits com os dois clients 12cR2 full (o de 32 E o de 64 bits) instalados, e a primeira coisa, descobri que (ao menos nessa versão 12.2) na verdade junto com o client JÁ VEM o Oracle OLEDB provider : basta escolher a instalação Customizada que ele vai mostrar os componentes que vc quer, é só selecionar o OLDEDB além do ORACLE NET (o protocolo de rede Oracle), dos utilitários de banco Oracle, do OCI, do sqlplus E do JDBC/ODBC : claro, esses extras não são exigidos mas é Conveniente ter eles, facilitam muito pra testes e talz... E o legal de vc ter o OLEDB na mesma HOME que o client full é que vc passa a ter a disposição (se os instalou) os utilitários de teste e config todos, E além disso é um local só pra cada versão de client e de oledb que vai conter o SQLNET.ORA e o TNSNAMES.ORA a configurar... Então, Esqueçam minhas obs sobre baixar separadamente client E oledb : isso não é errado, é tecnicamente possível, mas Não é Necessário nem recomendado... Segue meu exemplo, primeiro mostrando a config do client E do OLEDB 32-bits : C:\Users\jlchi_000>type client12cR2x86.bat SET ORACLE_SID= SET ORACLE_HOME=c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86 SET PATH=%ORACLE_HOME%\BIN;%PATH% C:\Users\jlchi_000>client12cR2x86.bat C:\Users\jlchi_000>echo %ORACLE_HOME% c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86 C:\Users\jlchi_000>echo %PATH% c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86\BIN;ummontedepastasquenãovemaocaso. => No meu caso, o banco Oracle remoto não foi configurado pra autenticação remota via NTS, então tive que mudar esse default, comentando a linha do NTS e adicionando outra com NONE : C:\Users\jlchi_000>type %ORACLE_HOME%\network\admin\sqlnet.ora # sqlnet.ora Network Configuration File: C:\app\oracle12cr2\product\12.2.0\client_12cR2_x86\\network\admin\sqlnet.ora # Generated by Oracle configuration tools. # This file is actually generated by netca. But if customers choose to # install "Software Only", this file wont exist and without the native # authentication, they will not be able to connect to the database on NT. #SQLNET.AUTHENTICATION_SERVICES= (NTS) SQLNET.AUTHENTICATION_SERVICES= (NONE) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) ==> OK, uma vez configurado o TNSNAMES dessa HOME onde eu tenho o client full E o oledb de 32 bits, eu TENHO que ser capaz de acessar o banco remoto ... C:\Users\jlchi_000>type %ORACLE_HOME%\network\admin\tnsnames.ora # tnsnames.ora Network Configuration File: c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86\network\admin\tnsnames.ora # Generated by Oracle configuration tools. WBDTESTx86 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = 192.123.10..456) (Port = 1521) ) ) (CONNECT_DATA = (SID = BDTEST) ) ) C:\Users\jlchi_000> => teste de PING e de conexão : c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86\install>tnsping wbdtestx86 TNS Ping Utility for 32-bit Windows: Version 12.2.0.1.0 - Production Arquivos de parâmetros usados: c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86\network\admin\sqlnet.ora Usado o adaptador TNSNAMES para resolver o apelido Tentativa de contatar (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (Host = 192.123.10.456) (Port = 1521))) (CONNECT_DATA = (SID = BDTEST))) OK (60 ms) C:\Users\jlchi_000>sqlplus chiappa/senha@wbdtestx86 SQL*Plus: Release 12.2.0.1.0 Production Conectado a: Oracle Database 10g Release 10.2.0.5.0 - 64bit Production SQL> exit Desconectado de Oracle Database 10g Release 10.2.0.5.0 - 64bit Production ==> Eis o teste da conexão via OLEDB Provider de 32 bits (achei mais fácil fazer o teste de conexão ADO via Oracle OLEDB Provider através dum script VBS, seguindo a nota metalink/my oracle support "HOWTO: Test an OleDb or ODBC Connection Using VBScript" (Doc ID 1116853.1) : c:\app\oracle12cR2\product\12.2.0\client_12cR2_x86 C:\Users\jlchi_000>type c:\testoledbconx86.vbs set con = createobject("adodb.connection") con.open "provider=oraoledb.oracle;user id=chiappa;password=senha;data sourc
Re: [oracle_br] Re: Oracle 12c + Delphi Xe8
Chiappa, Bom Dia, Primeiramente vou me desculpar por não ter visto certos emails, cairam na minha caixa de spam e não os tinha visto. Segundo vou colocar a situação. Computador 1 Sistema Operacional : Windows 10 Professional 64 bits. Banco de Dados Instalado : Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production Serviço configurado : ORCL Endereço IP : 192.168.0.68 Computador 2 Sistema Operacional : Windows 10 Professional 64 bits. Ferramenta de Desenvolvimento : Delphi XE8 Enterprise Edition pode gerar aplicações de 32 ou 64 bits Aplicação Desenvolvida : Aplicação em uso por cliente a 5 anos e foi desenvolvida e compilada em 32 bits Endereço IP : 192.168.0.51 Obs 1 : Ambos os computadores são da empresa e estão instalados e configurados em uma rede com domínio Windows com acessos por usuários e senha. Obs 2 : Os usuários dos dois computadores são administradores de rede e domínio com acesso total a toda a rede e equipamentos. No ambiente da empresa, onde desenvolvo e testo os sistemas, o banco de dados está na mesma infra de rede, neste caso está no "Computador 1" e o computador que utilizo é o "Computador 2". No cliente, ele possui o Banco de Dados na Cidade de Campinas/SP e acessa remotamente este banco de dados a partir de máquinas com cliente instalados na cidade de Louveira/SP. Esta conexão através de Oracle OleDB Provider, nos foi informada pelo client quando ele nos disse que era esta a conexão que eles tinham disponível no local. O Delphi, assim como outras ferramentas de desenvolvimento, utilizam-se de objetos para a conexão ao Banco de Dados, e nestes objetos não são todos os recursos que estão disponíveis ou que podem ser utilizados; no caso desta aplicação a opção escolhida foi um objeto chamado ADOConnection que permite a conexão ao Banco de Dados e a melhor forma de fazer isto foi através do Oracle OleDB Provider ; o que sempre funcionou bem, pois a anos utilizamos esta mesma estrutura, desde quando começamos a utilizar Oracle 8 com Delphi 6. Porém, infelizmente, após essa atualização do Windows, não estamos mais conseguindo reconfigurar o que precisamos em nossos computadores. Anteriormente à atualização do Windows 10 Pro do Release 1803 para o 1809, eu já tinha o client 32 bits instalado em meu computador e funcionando corretamente se conectando ao banco de dados de 64 bits. Inclusive a aplicação foi alterada e recompilada várias vezes neste mesmo computador. Não sou um expert em banco de dados, meu negócio é desenvolvimento de sistemas, se eu preciso somente do Oracle OleDB Provider ou só do client, ou dois dois juntos, ou mais alguma coisa eu não sei. Não temos aqui uma pessoa especialista em Bando de Dados, a estrutura da empresa não suporta isso. Quanto a tentar ajuda estou tentando em diversos foruns, inclusive tenho cadastro em vários deles e enviei para todos o mesmo email inicial que enviei neste aqui, infelizmente, ou felizmente, apenas aqui tive resposta, ou porque nos outros não se interessaram em me ajudar ou porque ninguém sabe o ocorre. Estou tentando resolver este problema durante toda esta semana, meu trabalho está todo atrasado e meu cronograma está indo pro vinagre. Já procurei na internet de diversas formas possíveis e imagináveis, mas infelizmente até o momento não consegui com que voltasse a funcionar. Espero ter esclarecido aos questionamentos. Atenciosamente, Samuca Em quinta-feira, 28 de fevereiro de 2019 15:31:32 BRT, jlchia...@yahoo.com.br [oracle_br] escreveu: Tá, primeira coisa : CADÊ as informações que pedimos, como SE o Windows é 32 ou 64 bits, se o tal Delphi XE8 é 32 ou 64 bits, se a sua aplicação de teste foi compilada em 32 ou 64 bits Pelo jeito, julgando por estas frases : O meu banco é "Oracle Database 12c Enterprise Edition Release 12.2.0.1..0 - 64bit Production" O meu client é o "Oracle Database 12c Release 2 Client (12.2.0.1.0) for Microsoft Windows (32-bit)" EU SUPONHO que o windows é 64 bits, o banco é 64 bits, né ?? Sendo isso, só precisamos avaliar a NECESSIDADE de ter software adicional 32 bits aí no seu caso... Segunda coisa : vc não disse mas ao que entendi é uma máquina Windows sua, pessoal, onde vc tem o RDBMS Oracle , o Delphi e quer conectar o Delphi nesse banco local, certo ?? Se for isso, NÃO HÁ NECESSIDADE de se instalar client Oracle à parte SE a versão/bitsize de client exigida for a mesma do RDBMS, pois o RDBMS JÁ VEM COM UM CLIENT, okdoc ??? Terceiro : se ** REALMENTE ** o banco é 64 bits e REALMENTE a sua aplicação legada/ferramenta de desenvolvimento EXIGE client 32 bits, aí sim vc DEVE instalar o client Oracle 32 bits, ok , mas TEM QUE INSTALAR EM UMA ORACLE_HOME separada : instalar client 32 bits JUNTO com software RDBMS 64 bits, na mesma ORACLE_HOME/no mesmo diretório-base, S
Re: [oracle_br] Oracle 12c + Delphi Xe8
Não utilizamos a versão Free do Delphi XE8, utilizamos a versão Enterprise que é paga! Em quinta-feira, 28 de fevereiro de 2019 15:09:21 BRT, jlchia...@yahoo.com.br [oracle_br] escreveu: E outra coisa : até onde sei o Delphi XE8 foi uma versão free/for developers da ferramenta lançada no final de 2014, ** muito ** antes do Windows 2010 que é de julho de 2015, se me lembro bem - não é impossível ter sido descoberta alguma incompatibilidade Inclusive, fui olhar no site da Embarcadero e a versão free/for developers mais atual da ferramenta é a Delphi 10.2 Tokyo Community Edition, pode valer a pena testar ela também... []s Chiappa
Re: [oracle_br] Re: Oracle 12c + Delphi Xe8
Que nada não conseguia fazer rodar por nada fui fazer um tnsping e retornou erro 3511... procurei por soluções, até voltou a funcionar o TNS Ping, mas sem sucesso, o Listener não funciona, virou uma bagunça generalizada Desinstalei tudo, limpei diretórios e registro, reinciei o computador e reinstalei o cliente "win32_12201_client" Aparentemente instalou sem qualquer erro, abri a configuração de rede e fui criar o serviço apontando para a máquina onde está o banco, resultado do teste : "ORA-12514: TNS:listener não tem conhecimento sobre o serviço solicitado atualmente no descritor de conexãoO teste não foi bem-sucedido." Voltei a estaca zero. O meu banco é "Oracle Database 12c Enterprise Edition Release 12.2.0.1..0 - 64bit Production" O meu client é o "Oracle Database 12c Release 2 Client (12.2.0.1.0) for Microsoft Windows (32-bit)" E ainda não tenho o "Ora OLE DB Provider for Oracle" Alguém consegue me ajudar? Tudo isso aconteceu depois que essa m de Win10 atualizou a versão e não cosnigo mais configurar o oracle. Agradeço Samuca Em quinta-feira, 28 de fevereiro de 2019 11:51:17 BRT, angelo angelolis...@gmail.com [oracle_br] escreveu: Boa ideia, Tem planilia dinâmica em Excel rodando aqui na casa que também acessa o Oracle. O provider utilizado também precisa corresponder a versao do aplicativo utilizado (exe de 32 bits, driver 32, exe de 64, driver 64)Quando é compilado com dotnet, esse problema raramente ocorre. Mas fora disso, é o dll hell rolando ainda Isso vale pra linked server tambem, se fizer link entre Sql Server e Oracle On Thu, 28 Feb 2019 at 11:33, jlchia...@yahoo.com.br [oracle_br] wrote: Ah, detalhe importante : quando vc for testar a versão 12c do driver OLEDB da Oracle, entre outros testes EXPERIMENTE fazer uma conexão OLEDB com o banco Oracle usando o provedor OLE Oracle/driver em algum OUTRO programa que não o Delphi (** DENTRO DO EXCEL ** , por exemplo) - a idéia aqui é Delimitar ainda mais se há ou não problema com o driver em si, ou se é alguma inconpatibilidade do próprio Delphi XE 8 com protocolos de rede atualizados : não é Provável mas é Possível []s Chiappa
Re: [oracle_br] Re: Oracle 12c + Delphi Xe8
Chiappa, Obrigado pelas dicas, estrou tentando em todos os caminhos, eu tenho login em todos esses fóruns... tudo funcionava na minha máquina até ter uma atualização do Win10, esse LIXO de SO. Grato pela atenção Abraço SamucaPS: Eu amava o meu WinXP não dava esse monte de problema Em quinta-feira, 28 de fevereiro de 2019 10:06:49 BRT, jlchia...@yahoo.com.br [oracle_br] escreveu: E é claro, já que está muito bem delimitado que a bola está no campo do Delphi, vc deve ter mito mais sorte em encontrar usuários Delphi em Fóruns/Grupos/sites mais especializados nisso, tente https://www.devmedia.com.br/ (use a opção de Pesquisa e pesquise por Delphi), https://showdelphi.com.br/ , http://www.activedelphi.com.br/forum/viewforum.php?f=1&sid=3d44825f6cc939feb96374c5c682b714 , http://www.linhadecodigo.com.br/delphi.aspx , http://www.mundodelphi.com.br/ , e uns outros tantos... []s Chiappa
[oracle_br] Oracle 12c + Delphi Xe8
Pessoal, Bom Dia, Estou com um problema que não estou conseguindo resolver. Tenho o Oracle12c instalado em um computador com Win10Pro. Neste computador está tudo funcionando, banco, serviço, sql plus, sql developer, etc, etc etc. No meu computador que também é Win10Pro, eu consigo acessar o bando de dados através do serviço e do sql developer, porém quando tento conectar ao banco através da minha aplicação em DelphiXE8 dá o erro: "Falha no teste de conexão devido a um erro na inicialização do provedor. Falha catastrófica" O acesso faço utilizando o "Oracle Ole DB Provider". Alguém consegue me ajudar Abraço Samuca
[oracle_br] Trigger para Fechamento Diário
Prezados, Bom Dia, Estou desenvolvendo um sistema em Delphi6 com Oracle 11g. Neste sistema existe uma funcionalidade que fica calculando o desempenho diário do processo de trabalho dos operadores para ser exibido em um painel. Os calculos e as consultas estão funcionando todas corretamente, porém existe uma função que faz o fechamento do saldo diário das notas fiscais e que é para ser executado à meia noite. O problema é que para este procecimento ser executado o módulo do painel informativo tem que estar rodando e o cliente desliga o computador todo dia à noite e torna-o a ligar pela manhã, porém ele faz isso após o início das atividades, o que faz com que os valores obtidos sejam diferentes dos que realmente deveriam ser. A minha pergunta é : É possível fazer uma trigger no banco de dados que se autoexecute à meia noite ( ou outro horário a ser definido ) sem a necessidade de iniciar alguma operação no banco pelo sistema? Antecipadamente agradeço Samuca