Eu desenvolvo um projeto em minha maquina, testo e roda beleza.. conecta, consulta e cadastra no banco de dados.
Mas qd eu gero o .war e jogo no servidor, nao consigo fazer operaçoes com o bando de dados.Me retorna o erro abaixo:
Obs: Lembrando q o usuario, senha, base de dados estao corretos.. a tabela tb.
Se alguem tiver uma ajuda fico grato. :-)
lembro a todos q na minha maqui esta consultando legal..
o erro só aparece qd eu jogo meu projeto no servidor.
A versao do mysql do servidor é a 4.0.24 e da minha maquina 4.0.18
Abraços
Geraldo Barboza
T
teofiloPJ
O banco de dados esta instalado no servidor onde esta a aplicacao?
Se você obter o seguinte erro quando estiver tentando conectar de uma máquina diferente da que o servidor MySQL estiver executando, então não deve existir um registro na tabela user que combine com esta máquina:
Host … is not allowed to connect to this MySQL server
Você pode corrigir isto utilizando a ferramenta de linha de comando mysql (no servidor!) para adicionar um registro à tabela user, db ou host para coincidir com o usuário e nome de máquina de onde você está tentando conectar, depois execute o comando mysqladmin flush-privileges. Se você não estiver executando o MySQL Versão 3.22 e você não sabe o número IP ou o nome da máquina da qual estiver conectando, você deve colocar uma entrada com o valor ‘%’ na coluna Host da tabela user e reiniciar o mysqld com a opção --log na máquina onde é executado o servidor. Depois tente conectar a partir da máquina cliente, a informação no log do MySQL irá indicar como você está realmente conectando. (Então troque o ‘%’ na tabela user com o nome da máquina mostrado pelo log. De outra forma você teria um sistema que seria inseguro.)
Outra razão para este erro no Linux pode ser porque você está utilizando uma versão binária do MySQL que é compilada com uma versão diferente da glibc que você está usando. Neste caso você deve atualizar seu SO/Glibc ou fazer o download da versão fonte do MySQL e compilá-la. Um RPM fonte é, normalmente, fácil de compilar e instalar, logo, isto não é um grande problema.
publicclassContatoDAO{//aconexãocomobancodedadosprivateConnectionconnection;//construtorquerecebeaconexãopublicContatoDAO(Connection con) {this.connection=con;}publicContatoDAO() throws SQLException {this.connection=ConnectionFactory.getConnection();}publicvoidadiciona(Contato contato) throws SQLException {//preparedstatementparainserçãoPreparedStatementstmt=this.connection.prepareStatement("insert into contato (nome,contato,tel1,tel2,descricao) values (?, ?, ?, ?, ?)");//setaosvaloresstmt.setString(1, contato.getNome());stmt.setString(2, contato.getContato());stmt.setString(3, contato.getTel1());stmt.setString(4, contato.getTel2());stmt.setString(5, contato.getDescricao());//executastmt.execute();stmt.close();}publicList<Contato>getListaNome(String nome) throws SQLException {PreparedStatementstmt=this.connection.prepareStatement("SELECT * FROM contato WHERE nome LIKE '"+ nome + "%'");//stmt.setString(1, nome);ResultSetrs=stmt.executeQuery();List<Contato>list=newArrayList<Contato>();while(rs.next()) {//criandooobjetoContatoContatocontato=newContato();contato.setId(rs.getLong("id"));contato.setNome(rs.getString("nome"));contato.setContato(rs.getString("contato"));contato.setDescricao(rs.getString("descricao"));contato.setTel1(rs.getString("tel1"));contato.setTel1(rs.getString("tel2"));//adicionandooobjetoàlistalist.add(contato);}returnlist;}}
G
geraldobarbozaPJ
Bom, parece que o proble nao ta no meu projeto, e sim no mysql do meu servidor…
Trouxe o arquivo.war para minha casa e joguei no meu Tomcat, criei a tabele e teste, funcionou legal… mas tenho uma duvida:
Na minha casa e no micro de trabalho a versao do mysql é 4.0.18
No servidor é 4.0.24
Sera q influencia as versoes?
No servidor roda Debian e na estação de trabalho roda Win XP.