6 maneiras de fazer a mesma coisa, o que é considerado boas práticas?
As vezes tem tantas maneiras diferentes de fazer o mesmo código que nós ficamos na dúvida quanto a qual maneira usar. O que seria considerado "boa prática" pela comunidade e o que sua equipe entenderia melhor. Suponhamos que você esteja trabalhando dentro de um método de um Domain Service chamado UmDomainServiceChique(objetoDoDominio) que será chamado por uma API. Você tem uma regra de negócio chique para ser verificada que por enquanto chamarei de VerificaMinhaRegraChiqueComplexa(). Você chama UmDomainServiceChique(objetoDoDominio) e caso VerificaMinhaRegraChiqueComplexa() retorne true você vai querer que UmDomainServiceChique faça o que tem que fazer e a api retornar Ok 200, caso contrário você quer que a API responda um erro qualquer, tipo BadRequest, e retornar uma mensagem dizendo que VerificaMinhaRegraChiqueComplexa deu ruim. Eu vejo 6 maneiras de fazer isso, gostaria de saber a opinião de outrs devs sobre qual seria a maneira menos gambiarr
Bom dia,
ResponderExcluirVocê pode resolver este problema criando em variáveis de ambiente no windows a variável de nome TNS_ADMIN apontando para o diretório onde encontra-se o tnsnames.ora.
TNS_ADMIN = C:\caminho dos arquivos
AdilsonD
Tentei criar a variável aqui e não funcionou.
ExcluirEstou usando Delphi 1.2 Tokyo e Windows 10
Pra mim não funcionou... Criei a variável de ambiente no Windows 10 e ainda continuo não conseguindo conectar de dentro da pasta (x86)
ExcluirTambém dá o mesmo problema se sua aplicação estiver localizada em uma pasta com ( ou )... Não necessariamente estre problema acontece na IDE do delphi
ResponderExcluirBom dia Adilson, não sabia desse esquema da variavel de ambiente, bom saber. Só alterava o tnsnames.ora mesmo.
ResponderExcluirAdriano, bom dia. É interessante essa observação. Qualquer aplicação que acesse o oracle e que estiver em um caminho ou pasta com parênteses dá esse problema então, tipo na Program Files (x86).
Mas quando você vê esse erro acontecendo no Delphi, na IDE, que está no Program Files (x86) e não acontece no seu executavel rodando sozinho simplesmente porque você colocou ele numa pasta com nome "normal" é uma situação bem bizarra e bem difícil de descobrir onde está o problema: você vê o erro acontecendo no Delphi em design-time e não acontecendo na sua aplicação em runtime, quando na verdade a maioria das vezes agente espera o contrário.
Eu quis resolver a situação no Delphi, acredito que assim (e compilando seu EXE numa pasta sem () ) você resolve o problema.
Vitor testei a solução de AdilsonD e funcionou perfeitamente, mesmo com o delphi no dir (x86), sem ser necessário a troca do dir do RAD.
ResponderExcluirMinha instação eh: Oracle 11G, delphi 2010 e client do oracle.
Apanhei ateh achar este post e resolver o problema!
Parabéns a vocês por compartilharem conhecimento.
Abraços.
Pessoal, estou passando por esse problema. É a primeira vez que trabalho com Delphi e Oracle. Devo editar o arquivo tsnames.ora e colocar que informação ?
ResponderExcluirAgradeço pela ajuda.
Romagnoli
Você pode abrir o arquivo no notepad e ver as informações. São aquelas configurações de sempre: host, porta, banco, login e senha. A maioria vai estar default, você só muda os textos relacionados ao seu banco, login e senha.
ResponderExcluirBom pessoal sou iniciante e estou querendo ajuda para vincular o data base Oracle 10g XE no Visual Basic 2010 sempre da erro, vou na opção ADD connection mais nao sei qual server name usar.
ResponderExcluirSe você instalou e configurou o Oracle 10g corretamente então o servername é o nome ou IP do servidor (localhost se estiver na sua máquina) e o databasename é o nome da instância do Oracle, que no caso do XE só existe uma instância default (esqueci o nome agora).
ExcluirNão sei o que acontece, estou com windows xp instalado, oracle perfeito, uso o plsql para teste e funciona corretamente. Porém uso o zeos lib para conexão. E da o erro. Tudo está instalado na pasta sem (**) e o tsnames está correto, tando que consulto pelo proprio sql, fiz o ping o banco ta de pé normal. Tenho d7 instalado com mesmo componentes e mesma configuração, funciona perfeitamente. Agora não sei o que pode estar havendo....
ResponderExcluirOlá amigo, eu consigo o primeiro acesso após a instalação faço o teste de conexão, tudo certo.
ResponderExcluirSó que o problema vem depois,o seguinte erro apareçe...
O aplicativo não pode ser iniciado corretamente (0xc000007b).
Clique em OK para fechar o aplicativo.
Você teria alguma dica?
Fico no Aguardo...
Essa dica foi excelente! Ajudou perfeitamente no meu caso!
ResponderExcluirValeu! Testada e aprovada no meu notebook. Dica ótima e q pode ser aproveitada por todos. :-)
ResponderExcluirAgradecendo a grande ajuda do nosso amigo! valew pela dica, estava a 1 dia perdido com esse problema, até que li seu post e tudo se resolveu!
ResponderExcluirObrigado!
Obrigado pela ajuda!
ResponderExcluirVitor,
ResponderExcluirTive o mesmo problema ao utilizar o DBACCESS da Totvs. Apenas segui a sua dica (instalei o DbAccess em um diretório sem parenteses) e funcionou!
Valew
Serjin
valeu !
ResponderExcluirresolveu !!!
valeu !
ResponderExcluirresolveu !!!
Segui a dica do AdilsonD e deu certo. Grato.
ResponderExcluirPra mim não funcionou... Criei a variável de ambiente no Windows 10 e ainda continuo não conseguindo conectar de dentro da pasta (x86)
ResponderExcluirMeu irmão Obrigado pela eu ja estava ficando doido com esse negocio. Valeu.
ResponderExcluir