| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 10:40:23
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Olá a todos.
Só estou criando este tópico porque não consegui resolver o problema de conexão com o banco de dados.
Minha aplicação JSP insere tópicos, bom, inseria, pois quando estou tentando inserir outro, mostra uma mensagem de excessão e logo em seguida toda a comunicação com o banco de dados é perdida.
A mensagem é esta:
Não foi possível se conectar ao banco de dados!
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed
Estou realizando conexão com uma classe java que está bem aqui:
e eu a imorto na página assim:
No começo do desenvolvimento não acontecia isso.
Será que o problema é na classe Java?
Obrigado.
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 10:46:07
|
makoto
JavaChild
![[Avatar]](/images/avatar/d5fe8b674699f542537c1694284ea239.jpg)
Membro desde: 17/04/2008 17:00:17
Mensagens: 131
Localização: Fortaleza - CE
Offline
|
lembre-se de fechar a conexão:
|
Table, ta-table, the Book's on JTable |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 10:53:32
|
makoto
JavaChild
![[Avatar]](/images/avatar/d5fe8b674699f542537c1694284ea239.jpg)
Membro desde: 17/04/2008 17:00:17
Mensagens: 131
Localização: Fortaleza - CE
Offline
|
Ué, deletaram meu post??
|
Table, ta-table, the Book's on JTable |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 11:05:50
|
orlandini
Debugger
Membro desde: 17/03/2007 19:09:09
Mensagens: 58
Offline
|
Esquece ja vi que não é o que eu falei rsss
This message was edited 1 time. Last update was at 04/12/2008 11:06:42
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 11:23:54
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Sim eu fecho a conexão sim, mas não resolve.
E isso pode atrapalhar a comunicação com outra página?
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 11:46:02
|
makoto
JavaChild
![[Avatar]](/images/avatar/d5fe8b674699f542537c1694284ea239.jpg)
Membro desde: 17/04/2008 17:00:17
Mensagens: 131
Localização: Fortaleza - CE
Offline
|
Trabalhando com JDBC, fechar a conexão é passo fundamental, se não fizer vai dar erro com certeza na inserção de novos dados.
|
Table, ta-table, the Book's on JTable |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 11:50:15
|
makoto
JavaChild
![[Avatar]](/images/avatar/d5fe8b674699f542537c1694284ea239.jpg)
Membro desde: 17/04/2008 17:00:17
Mensagens: 131
Localização: Fortaleza - CE
Offline
|
seria legal se vc abrisse uma conexão inserisse o tópico e fechasse a conexão e cada nova inserção a conexão será aberta e fechada. vc fez assim?
|
Table, ta-table, the Book's on JTable |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 12:40:30
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
Sim eu fiz.
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 13:03:32
|
italo.vendrameto
JavaChild
![[Avatar]](/images/avatar/27bf6226213cf288dfbf62ffc02bad4f.jpg)
Membro desde: 21/09/2006 06:44:48
Mensagens: 119
Localização: Curitiba - PR
Offline
|
Bom vamos por partes.
Pelo erro que você apontou lá no inicio do tópico, você já verificou se o seu DBServer está funcionando corretamente e aceitando conexões com esse usuário e senha, tudo bem que antes funcionava mais vale apena fazer um teste para garantir que erro está realmente na sua aplicação.
Nesse seu bloco de código o IF tem que ser conn != null senão você vai receber um NullPointer
Sobre a sua classe Conexao e a questão de abrir e fechar a Connetion
Na sua classe Conexao o atributo conn como static pode gerar um erro em um ambiente com concorrenência, por ser static esse atributo é comum a todas as instâncias da Classe conexao então se você tiver 3 instâncias de conexao sendo usadas e uma dele fechar a connection ferrou...
Você poderia tornar o método getConnection static e criar o conn dentro dele dessa forma seria cria uma conn usada e encerrada, mas como já foi comentado a mesma deve ser fechada senão não DB que aguente.
Detalhe lembre de tratar as exception desses catch's
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 13:42:09
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
italo.vendrameto wrote:Bom vamos por partes.
Pelo erro que você apontou lá no inicio do tópico, você já verificou se o seu DBServer está funcionando corretamente e aceitando conexões com esse usuário e senha, tudo bem que antes funcionava mais vale apena fazer um teste para garantir que erro está realmente na sua aplicação.
Também pensei que fosse isso mas está sim, pois o texto é inserido corretamente.
Nesse seu bloco de código o IF tem que ser conn != null senão você vai receber um NullPointer
Também pensei que fosse isso, mas observe melhor: como vou realizar um select num testte para a variável conn como não nula, sendo que ela inicializa nula? (Se eu fizer assim, a página fica em branco, pois nenhum dado é mostrado).
Sobre a sua classe Conexao e a questão de abrir e fechar a Connetion
Na sua classe Conexao o atributo conn como static pode gerar um erro em um ambiente com concorrenência, por ser static esse atributo é comum a todas as instâncias da Classe conexao então se você tiver 3 instâncias de conexao sendo usadas e uma dele fechar a connection ferrou...
Você poderia tornar o método getConnection static e criar o conn dentro dele dessa forma seria cria uma conn usada e encerrada, mas como já foi comentado a mesma deve ser fechada senão não DB que aguente.
Muito obrigado, acho que era isso mesmo. Bem que eu perguntei acima se era a classe java, hehe.
Obrigado mesmo. ^^
Detalhe lembre de tratar as exception desses catch's
Como posso tratar essas excessões para mostrar na página JSP, sendo que o System.out.println da classe JAVA não executa em JSP. E não quero criar sessões redirecionando informações para a página anterior porque uma das versões do Firefox possui bug em relação a isso, levando o usuário a apertar o refresh do navegador para carregar a página novamente e executar esta tarefa de mostrar a mensagem da sessão. É um horror isso...
Bom, agora só tem um problema maior: é que a coluna de preenchimento com o texto é do tipo TEXT, o que não sei se deveria utilizar, pois está inserindo caracteres estranhos nesta coluna.
Como mostram as imagens:
E aqui os tipos de variáveis:
Daí quando tento executar um SELECT com os dados estranhos, a coluna fica sem conteúdo.
Acho que é o tipo de variável mesmo, mas não tenho certeza.
This message was edited 1 time. Last update was at 04/12/2008 13:44:43
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 14:02:00
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
EH, descobri onde estava o problema
bom, então se isso aconteceu somente após cadastrar os dados, deve ter sido aqui o problema:
o stmt.close() e conn.close() estavam após redirecionar a página, puxa, como pude cometer este erro. =/
Após eu consertar o que fiz, adicionando estes fins de conexão e Statement antes de redirecionar a página, deu certo, sem problemas de conexão fechada. =]
Bom, vou verificar se isso não ocorre novamente e posto os resultados.
Obrigado a todos pela ajuda.
Vocês foram fundamentais para meu melhor desenvolvimento e fico muito grato por isso. =]
This message was edited 1 time. Last update was at 04/12/2008 14:25:12
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/12/2008 15:28:54
|
dark123
JavaEvangelist
Membro desde: 30/04/2008 18:02:02
Mensagens: 315
Offline
|
EH, parece que os caracteres estranhos ainda continuam no fim de todo o texto cadastrado.
E não é por causa da codificação da página de envio e da página que recebe os dados não, pois estas já foram modificadas para inúmeras codificações.
Estou utilizando um editor parecido com este da GUJ, claro que o meu é bem mais simples, mas quebra o galho.
Existe alguma forma de retirar os caracteres estranhos?
Estou utilizando scripts para receber o texto do editor e depois repassar para a url de envio.
Segue ae:
Após clicar em "submit", o script, que eu não postei (esqueci) vai verificar se o título foi preenchido corretamente, se foi então redireciona para o outro script que é function submitForm() para concluir a operação.
This message was edited 1 time. Last update was at 04/12/2008 15:33:18
|
Esqueceram de avisar que o NetBeans 6.7 e ainda por cima somente com java e JEE era pra quem tivesse mais de 2 GB de RAM |
|
|
 |
|
|