ps: Se acontecer a mesma coisa com vc mude o odbc de “user” para “system” em painel de controle / ferramentas administrativas / fonte de dados odbc
Salve! Eu tenho um projeto de servlet feito no netbeans que funciona beleza. To tentando fazer rodar no Apache Tomcat 6.0, pra isso peguei o war do projeto e joguei na webapps. Ele chama o servlet, até ai tudo bem, mas sempre que eu uso banco de dados aparece uma tela branca. Fui ver no log de saídas, e aparece a seguinte mensagem : “Problemas na conexao com a fonte de dados”.
O trecho que gera esse código, é da exception:
Nem vi o resto do seu código, mas para checar se determinado valor é null, você não pode usar equals, e sim == ou “!=”. Ou seja:
if(usu!=null&&senhas!=null){
S
shamanpyro
então, cai naquela " SQLException ex ". thingol, fiz o que me sugeriu mas acontece a mesma coisa (eu não sabia que não podia usar equals pra null oO). Será que não é alguma configuração do xml ou no tomcat? eu não manjo nada de xml, pode ser isso
T
thingol
Você tem de imprimir a exceção, conforme o pessoal lhe pediu. Faça assim, e poste o erro que deu.
catch(SQLExceptionex){ex.printStackTrace(); // isto imprime o erro com o stack trace completo, em vez de imprimir a sua mensagem return; //cai aqui }
estranho… está definido lá no odbc. Precisa estar em algum diretorio do tomcat?
T
thingol
Que eu saiba não, mas como o MS Access não é um bom banco de dados para ser acessado por aplicações multi-usuário, eu recomendaria você usar um outro banco qualquer.
S
shamanpyro
certo, vou ter que me apressar pra migrar o banco (e os códigos). Mas to achando estranho, se o problema é no banco de dados não deveria dar erro pelo servidor que o NetBeans chama tb?
T
thingol
É realmente estranho. Mas você definiu o “data source” BD como “System”, “User” ou “File” DSN? Se for “System” deveria funcionar; se for User ou File, com certeza não funciona.
S
shamanpyro
desculpe mas não intendi sua pergunta. Procurei por esses valores que vc mencionou no meu código mas não defini nada disso. No odbc ( fonte de dados), escolhi fonte de dados do usuário. ( ah sim, aqui tem arquivo e systema que vc mencionou). Vou tentar com system então
S
shamanpyro
Funcionou, obrigado!
Era isso mesmo, vou marcar como resolvido ;))
T
thingol
Puxa vida - se vai mexer com Access pelo menos saiba a configuração do ODBC…
Estou zoando um pouco. Vou explicar qual é a diferença entre User, System e File DSN.
Quando você solicita uma conexão a um banco usando um driver ODBC (não importa se é via Java, VB, Delphi ou .NET), o Windows deve descobrir como efetuar a conexão de uma das seguintes maneiras:
Ele deve descobrir isso porque você cadastrou o data source usando aquele ícone do Control Panel e marcou como “System”. Nesse caso, os parâmetros de conexão estão guardados no Registry (HKEY_LOCAL_MACHINE) e disponíveis para qualquer usuário daquela máquina, incluindo os serviços (que usam o usuário especial “LocalSystem” ou “Network”)
Se for “User”, então os parâmetros estão no Registry, mas só são acessíveis para um determinado usuário (estão em HKEY_CURRENT_USER). Um outro usuário, ou então qualquer serviço, provavelmente não irá conseguir acessar.
Se for “File”, então os parâmetros ficam em um arquivinho que você deve acessar de sua aplicação.
S
shamanpyro
Obrigado pelas dicas. É, foi mal, é que sou bem inexperiente. Esse é meu primeiro emprego em programação ( estágio), e é em asp.net. O que eu sei de java fui aprendendo aqui e em um livro da editora érica. Então como system eu posso acessar o serviço de outras máquinas, certo?