Banco de dados Livro Dominando Netbeans

36 respostas
A

Alguem poderia me da uma ajuda ae
nao estou conseguindo conectar o banco de dados =/

o codigo eh este:

package capitulo10;

import java.sql.*;

public class MinhaPrimeiraConexao {

public MinhaPrimeiraConexao () {

try {

Class.forName (com.mysql.jdbc.Driver);

Connection conn = DriverManager.getConnection

(jdbc:mysql://localhost/livraria”,“root”,“12345”);

System.out.println(Conexão Estabelecida com sucesso!);

}

catch (java.lang.ClassNotFoundException cnfe) {

System.out.println(cnfe.getMessage());

}

catch (java.sql.SQLException sqlex) {

System.out.println(sqlex.getMessage());

}

}

public static void main(String[] args) {

new MinhaPrimeiraConexao();

}

}

Qdo eu tento conectar o drive da o seguinte erro
Impossivel adicionar a conexao.Nao é possivel estabelecer a conexao para jdbc:mysql://localhost/livraria
utilizando com.mysql.jdbc.Driver
Por favor se alguem souber da uma força ae flw

36 Respostas

robinsonbsilva

Jovem, após verificar nome_banco, user, senha

//Exemplo SQL SERVER
Class.forName("net.sourceforge.jtds.jdbc.Driver");
con = DriverManager.getConnection("jdbc:jtds:sqlserver://192.168.10.28:1433/nome_banco", "user", "senha");

Verifique se o mysql está rodando, e caso esteja verifique se tem algum firewall bloqueando conexões.

A

cara desculpa a pergunta eh q eu estou começando agora a programar em java
os firewalls do windows estao desabilitados
o banco de dados acho que nao esta rodando
=/
ultimamente nao estou conseguindo baxar nada de gerenciadores de arquivos
como o torrent
nao sei se tem algo a ve
por precisar de uma conexao em rede
se puder me dar um força ae vlw
volto mais tarde

P

Banco de dados nãoi tem nada a ver com gerenciadores de arquivos.

Vai no shell e digita “mysql -p root”. Ou então pesquise como startar o mysql no google.

mysqld -start

Linkel

Então, fera…
Dá um mysqld start no terminal para garantir que o server do MySQL está rodando…
Se você não configurou o MySQL para conexões remotas então sua configuração de firewall, proxy, etc, muito raramente bloquearia a conexão, que no caso, está setada para ser local…
Você alterou a senha do root para 12345, como repassou pra string de conexão??? - Se em momento algum você alterou essa senha nas ferramentas de administração do MySQL ou no proprio terminal de comandos, seja no instante da instalação ou não, então a senha na verdade estará em branco, e você não vai precisar preencher com 12345 mas deixar vazio “”…
Bom, mas nesse caso, está parecendo que você se esqueceu de adicionar o conector/j à sua biblioteca ou o serviço de driver para conexão como MySQL…
Certifique-se de que fez tudo isso, e caso tenha feito e persista o erro, copie os erros que aparecem e cole aqui pra gente ver…
Um abraço!

P

Outra coisa, voce carregou o drive do mysql na aplicação direitinho?

E ah, anota bem esse seu código que voce vai ver depois quando tiver mais maduro em java que esse código é um grande erro e vai ver o porque. =)

Linkel
Sergio Figueras:
E ah, anota bem esse seu código que voce vai ver depois quando tiver mais maduro em java que esse código é um grande erro e vai ver o porque.
Cara, como assim? Você diz isso pela importação mal feita e porque tudo é feito no construtor da classe e instanciado pelo método main, e que não tem um método para fazer a desconexão? Se for isso que estiver falando, eu também não concordo... Se não for isso, então o que tem mais de tão errado assim? Eu fiz uma classe bem simples para fazer essa conexão, com apenas dois métodos (conectar e desconectar), para fazer o básico da conexão por mim... Dá uma olhada e me diz se também está errado...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Conexao {

    public Connection con;
    
    public void conectar() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/sosbones","root","");
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Falha na conexão!");
        }
    }
    
    public void desconectar() {
        try {
            if (con != null) {
                con.close();
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }    
}
P
Linkel:
Sergio Figueras:
E ah, anota bem esse seu código que voce vai ver depois quando tiver mais maduro em java que esse código é um grande erro e vai ver o porque.
Cara, como assim? Você diz isso pela importação mal feita e porque tudo é feito no construtor da classe e instanciado pelo método main, e que não tem um método para fazer a desconexão? Se for isso que estiver falando, eu também não concordo... Se não for isso, então o que tem mais de tão errado assim? Eu fiz uma classe bem simples para fazer essa conexão, com apenas dois métodos (conectar e desconectar), para fazer o básico da conexão por mim... Dá uma olhada e me diz se também está errado...
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class Conexao {

    public Connection con;
    
    public void conectar() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
            con = DriverManager.getConnection("jdbc:mysql://localhost/sosbones","root","");
        } catch (Exception e) {
            e.printStackTrace();
            JOptionPane.showMessageDialog(null, "Falha na conexão!");
        }
    }
    
    public void desconectar() {
        try {
            if (con != null) {
                con.close();
            }
        }
        catch (SQLException e) {
            e.printStackTrace();
        }
    }    
}

Tá errado sim. Mas não por isso não, meu velho. Digo isso pelo padrão Factory. Já ouviu falar nele? Agora, se 300 pessoas abrirem uma instancia do software voce vai ter 300 conexões. O certo é deixar tudo static e criar um get para essa conexão e todos usarem a mesma.
E putz cara, que jeito porco de tratar uma exceção.

P

PS: Também é bom criar um Map de properties.

Na verdade, o bom mesmo é rodar o Hibernate.

Linkel

Sergio Figueras:

Tá errado sim. Mas não por isso não, meu velho. Digo isso pelo padrão Factory. Já ouviu falar nele? Agora, se 300 pessoas abrirem uma instancia do software voce vai ter 300 conexões. O certo é deixar tudo static e criar um get para essa conexão e todos usarem a mesma.
E putz cara, que jeito porco de tratar uma exceção.

Brother, vou responder pelo sentido inverso…
Porque esse jeito é ‘porco’? Como você faz? E por que tinha que responder dessa maneira? Sou iniciante também e já que você sabia que tem ‘erros’ nessa maneira que inúmeros desenvolvedores fazem eu achei que você poderia nos ensinar o jeito certo; ou você só quer mostrar que sabe de alguma coisa? Sinceramente, não entendi sua abordagem, meu velho!
Padrões! Por acaso isso soa com Regras? Claro que não! Padrões são padrões! Tudo depende do caso de uso… Não preciso considerar errado esse jeito despadronizado, vamos dizer assim, de abrir e fechar conexões se minha aplicação não vai rodar em tantas máquinas assim… E, te corrigindo, não quer dizer que 300 pessoas abrindo uma instância do software vai abrir concorrentemente 300 conexões! Abro a conexão com o método conectar(), instanciado da classe Conexão apenas no instante da transação ou consulta ao banco e logo após essa chamo o método desconectar para eliminar a instância de conexão…
Se você tiver paciência em explicar o que sabe ou pensa que sabe então vai ser o maior prazer aprender contigo, afinal, estamos numa comunidade, e aqui ninguém precisa mostrar que sabe mais que os outros… Agora, se não for esse o seu intuito então nem vou gastar tempo lendo suas opiniões soberbas…
Humildade não faz mal a ninguém, principalmente para quem pensa ser grande demais…

P

Linkel:
Sergio Figueras:

Tá errado sim. Mas não por isso não, meu velho. Digo isso pelo padrão Factory. Já ouviu falar nele? Agora, se 300 pessoas abrirem uma instancia do software voce vai ter 300 conexões. O certo é deixar tudo static e criar um get para essa conexão e todos usarem a mesma.
E putz cara, que jeito porco de tratar uma exceção.

Brother, vou responder pelo sentido inverso…
Porque esse jeito é ‘porco’? Como você faz? E por que tinha que responder dessa maneira? Sou iniciante também e já que você sabia que tem ‘erros’ nessa maneira que inúmeros desenvolvedores fazem eu achei que você poderia nos ensinar o jeito certo; ou você só quer mostrar que sabe de alguma coisa? Sinceramente, não entendi sua abordagem, meu velho!
Padrões! Por acaso isso soa com Regras? Claro que não! Padrões são padrões! Tudo depende do caso de uso… Não preciso considerar errado esse jeito despadronizado, vamos dizer assim, de abrir e fechar conexões se minha aplicação não vai rodar em tantas máquinas assim… E, te corrigindo, não quer dizer que 300 pessoas abrindo uma instância do software vai abrir concorrentemente 300 conexões! Abro a conexão com o método conectar(), instanciado da classe Conexão apenas no instante da transação ou consulta ao banco e logo após essa chamo o método desconectar para eliminar a instância de conexão…
Se você tiver paciência em explicar o que sabe ou pensa que sabe então vai ser o maior prazer aprender contigo, afinal, estamos numa comunidade, e aqui ninguém precisa mostrar que sabe mais que os outros… Agora, se não for esse o seu intuito então nem vou gastar tempo lendo suas opiniões soberbas…
Humildade não faz mal a ninguém, principalmente para quem pensa ser grande demais…

Exceção não se trata apenas com um e.printStackTrace(), você deve sempre capturar todas as exceções possíveis que o método pode lançar, o uso de Assertions também é algo muito util em fase de testes. Tornar a coisa mais amigável pro usuário e mais estável possível é sempre o foco da aplicação. Um exemplo de jeito não-porco(notOnPigWay) de fazer isso: Log4J, captura, e envia os relatórios para o administrador. Esse é o jeito mais coerente. O usuário não fica exposto.

Outra coisa, uma abordagem sobre padrões é simples: Se você tem um problema aonde um design pattern deve ser utilizado, qualquer outra solução é errada. Isso é fato. Isso de conectar e desconectar o tempo todo mais parece coisa de programação estruturada.

Quanto a ter humildade não é esse o negócio. Pra mim não tem nada demais em alguém falar que coisa X ou Y que eu faço foi porca, eu ia perguntar porque numa boa e tentar entender se a pessoa tem razão. Se você se ofendeu, desculpe-me.

Mas cara, uma regra BÁSICA de construção de software (se voce estiver codadno pra alguém grande) é: O código não deve ser feito para funcionar, ele deve ser feito para crescer, programar em OO também significa ter um crescimento correto, sem POG e sob demanda para os outros coders. Agora um caso que eu soube, um banco usava um framework que tinha uma classe de conexão ao BD, só que essa classe era marcada do mesmo jeito que a sua, a mesma coisa. Agora imagina 10000 usuarios acessando a aplicação e criando 10000 conexões ao mesmo tempo.

Meu amigo, estruturada é feito assim, OO é diferente.

Se tiver mais algo relativo a isso, mais alguma coisa que incomoda vss. uma MP seria bom.

E não é questão de mostrar que sabe mais que o outro não, se você for notar, nós estamos aprendendo.

PS elegante: Soberba é a vó. :slight_smile:

Qualquer coisa, manda um MP.

Linkel

Brother, valeu pelas explicações!
Só discordo quando você diz que isso é estruturado! Que nostalgia! Isso também é OO, vó! Ou, por acaso, implementaram um paradigma estruturado no Java e eu não fiquei sabendo? Desculpo você por ser grosso e soberbo, mas aceitar abordagens tipo essa é ruim, heim!
KKKKKKKKKKKKKKK
“Dá cada pool nesses fóruns, heim!”
Aliás, não ví onde você postou a solução para o nosso amigo aqui…
Poderia dar um exemplo aí de como é que se faz então, para a gente aprender, ao invés de ficarmos trocando asneiras…
Pode ser?

P

Linkel:
Brother, valeu pelas explicações!
Só discordo quando você diz que isso é estruturado! Que nostalgia! Isso também é OO, vó! Ou, por acaso, implementaram um paradigma estruturado no Java e eu não fiquei sabendo? Desculpo você por ser grosso e soberbo, mas aceitar abordagens tipo essa é ruim, heim!
KKKKKKKKKKKKKKK
“Dá cada pool nesses fóruns, heim!”
Aliás, não ví onde você postou a solução para o nosso amigo aqui…
Poderia dar um exemplo aí de como é que se faz então, para a gente aprender, ao invés de ficarmos trocando asneiras…
Pode ser?

Hohoho. E você não acredita que tem gente que consegue mesmo tendo Java nas mãos programar de forma estruturada? Então você realmetne não tem vivencia com coding, cara. rs. Porque um exemplo vivo é o que você está fazendo.

Exemplo é só ele procurar no fórum, tem trilhões vagando por ai. Por isso nem me dou ao trabalho de postar nada.

Acho que você se ofende demais, demoiselle. Qualquer dica que se dê já está ai chamando de grosso, soberbo.

Agora eu ja disse e repito, se tem mais alguma coisa que ficaste ofendido, manda mp. Isso de trocar “elogios” nas threads não é bem legal. =)

Eu não tenho o porque te mandar MP, afinal, você concordou comigo que estava errado em várias coisas. =)

  • Cansado das novas crianças pseudo dos cursos de TI hoje em dia.
Linkel

Zé Bonitinho, se você criticou, ensoberbecido de suas opiniões, tinha que mostar então como é que se faz! Se está se dando o tempo para continuar respondendo minhas indagações nesse tópico é porque já passou de criança pseudo para velho (vó, como se referiu) pseudo… Eu não quero MP sua não, fera; Concordo sim que você pode estar certo na maioria dos pontos (aliás, foi por isso que te fiz a primeira pergunta, para saber se eu estava fazendo da forma errada e como então deveria fazer a partir de agora, e não para aflorar o demoiselle em você), ao contrário de muitos não tenho vergonha de dizer que estou aprendendo, como todos nesse mundo… Se você nasceu sabendo tudo isso, como quer impetrar, que maravilha! Compartilhe conosco então, ao invés de apedrejar feito uma criança…
Com certeza, agora vou procurar aprender como melhorar minhas conexões, usando sua arrogância como alerta… Já serviu para alguma coisa… Mas, só falar é muito fácil quando se está conectado na Internet, por exemplo… Posso falar de um monte de coisas que na verdade não sei, sem precisar provar o que falo… A idéia é essa… E espero que não tenha que gastar mais do meu precioso tempo com esse post ou com MP’s alheias…

P

Linkel:
Zé Bonitinho, se você criticou, ensoberbecido de suas opiniões, tinha que mostar então como é que se faz! Se está se dando o tempo para continuar respondendo minhas indagações nesse tópico é porque já passou de criança pseudo para velho (vó, como se referiu) pseudo… Eu não quero MP sua não, fera; Concordo sim que você pode estar certo na maioria dos pontos (aliás, foi por isso que te fiz a primeira pergunta, para saber se eu estava fazendo da forma errada e como então deveria fazer a partir de agora, e não para aflorar o demoiselle em você), ao contrário de muitos não tenho vergonha de dizer que estou aprendendo, como todos nesse mundo… Se você nasceu sabendo tudo isso, como quer impetrar, que maravilha! Compartilhe conosco então, ao invés de apedrejar feito uma criança…
Com certeza, agora vou procurar aprender como melhorar minhas conexões, usando sua arrogância como alerta… Já serviu para alguma coisa… Mas, só falar é muito fácil quando se está conectado na Internet, por exemplo… Posso falar de um monte de coisas que na verdade não sei, sem precisar provar o que falo… A idéia é essa… E espero que não tenha que gastar mais do meu precioso tempo com esse post ou com MP’s alheias…

kkkkkkkkkkk.

Mr Fuinha é engraçado. E não respondeu sobre ter como programar de forma estruturada em Java. ô vivencia, hein?

Meu amigo, uma coisa é certa - gastar tempo com você é só pra rir. E é por isso que estou aqui - respondendo as baboseiras.

Usando arrogancia como alerta? Eu ainda acho que você pode ter um disturbio maniaco-depressivo ou de perseguição por estar achando que fui grosso com você ou soberbo. Só não chore, por favor. =)

Falar é muito fácil, claro. Mas eu lá vou perder meu tempo com alguém como você que se ofende por qualquer coisa? É bom aprender na base da porrada, sabe? Uma vez um diretor de um lugar que eu trabalhava me chamou pra uma sala e criticou todos os pontos possíveis do projeto, só faltou me xingar. Mas aquilo foi muito bom, porque desde então eu NUNCA mais cometi os mesmos erros.

E cara, eu não preciso provar pra você que eu sei alguma coisa, estou pouco me ferrando pra minha imagem em relação a você, tenho que provar isso com os projetos que eu tenho em mente, e não viver em função de provar coisas para alguém.

Aliás, você que deveria provar pra si mesmo que sabe codar alguma coisa , porque nem design patterns e nem vivencia de programação você tem. Antes de se intitular programador, existe 30000 coisas que você deve estar apto antes. Porque programar é uma arte, e quem quer um quadro feio?

Se quiser dicas sobre uma porrada de coisas eu posso te ajudar em tudo o que quiser, mas agora ficar se ofendendo toda hora por alguma ciosa é dificil. A não ser que você queira é aquele povo que cuida de pré-escolar, que passa a mão na cabeça e explica direitinho. Assim , é melhor procurar um prof. particular.

Todos os topicos que eu ja postei aqui nenhum deles eu dei a reposta completa, só falei o que a pessoa tinha que procurar para achar. Se um proigramador não tiver espirito de busca - desiste. Programador nunca vai ser.

Linkel

Sooooooooooooooooooooo!!!
Foi lindo!!!
Eu realmente não sou um mero programador!
Torço para que você consiga ser o programador que quer ser!
Essas baboseiras só atrasaram minha agenda…
Fuuuuuuuuuuui!

Linkel

Mestre por aqui é o ViniGodoy, que nunca precisou rebaixar ninguém para parecer melhor que os outros…
E olha que ele é um dos melhores que já conheci na web…
Vê se me erra, filho…

P

Linkel:
Mestre por aqui é o ViniGodoy, que nunca precisou rebaixar ninguém para parecer melhor que os outros…
E olha que ele é um dos melhores que já conheci na web…
Vê se me erra, filho…

Tem varios mestres por aqui, o ViniGodoy tambem e, claro. (thingol, cv, uma porrada de gente).

E que giriazinha adolescente pre cambiana do caramba, hein (int)

A

galera obrigado ae pela ajuda =)
eu andei pesquisando agora em um site
q mostrou a configuração a variavel classpath pelo DOS
entao eu digitei
mas deu o seguinte erro

C:\Arquivos de programas\NetBeans 6.1\MySql\mysql-connector-java-5.1.6>java -cla

sspath mysql-connector-java-5.1.6-bin.jar MinhaPrimeiraConexao

Exception in thread main java.lang.NoClassDefFoundError: MinhaPrimeiraConexao

Caused by: java.lang.ClassNotFoundException: MinhaPrimeiraConexao

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

obrigado se alguem puder me dar uma dica fico grato

P

Assis, vc ta usando alguma IDE(int)

A

netbeans 6.1

Linkel

Brother, o Netbeans 6.1 já vem com o conector JDBC do MySQL adicionado, verifique se ele está adicionado às suas bibliotecas do projeto e, caso não esteja adicione-o, e então ative a guia Services, do Netbeans 6.1, caso ela não esteja ativada, pelo menu Window… Expanda o ítem Batabase da árvore apresentada e em seguida expanda o item Drivers… Verifique se aparece o driver do MySQL e clique com o botão direito do mouse sobre esse drive e crie uma conexão usando ele, inserindo as informações para se conectar no seu banco… E teste, claro…

Linkel

Assis__:
galera obrigado ae pela ajuda =)
eu andei pesquisando agora em um site
q mostrou a configuração a variavel classpath pelo DOS
entao eu digitei
mas deu o seguinte erro

C:\Arquivos de programas\NetBeans 6.1\MySql\mysql-connector-java-5.1.6>java -cla

sspath mysql-connector-java-5.1.6-bin.jar MinhaPrimeiraConexao

Exception in thread main java.lang.NoClassDefFoundError: MinhaPrimeiraConexao

Caused by: java.lang.ClassNotFoundException: MinhaPrimeiraConexao

at java.net.URLClassLoader$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at java.lang.ClassLoader.loadClassInternal(Unknown Source)

obrigado se alguem puder me dar uma dica fico grato


Mas, brother, isso está estranho… Ano passado também comprei esse livro (se for o do Edson, para Netbeans 5.5)… E também não havia conseguido me conectar no banco com a classe do livro… Foi aí então que pesquisei e implementei a classe que postei aqui no seu post na primeira sessão…
Teste aí com a classe que postei e me diz se dá certo ou se o erro que der for o mesmo…

Linkel

Sergio Figueras:
Tem varios mestres por aqui, o ViniGodoy tambem e, claro. (thingol, cv, uma porrada de gente).
E que giriazinha adolescente pre cambiana do caramba, hein (int)

Com certeza eles também são…
Vai querer me dar aulas de cultura literária moderna também?
Sou um excelente comunicador, porque sei como falar de acordo com cada pessoa que lido.

A

Linkel vlw ae pela ajuda =)
O livro é Dominando NetBeans Edson Gonçalves

EU fiz toda a classe como ele pediu no livro normalmente, adicionei nas bibliotecas do meu projeto
MySQL compilei e executei o arquivo.java, sendo a msg de saida a seguinte:

init:
deps-jar:
compile:
run:
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

Entao que nem vc disse eu fui no menu serviços -> banco de dados -> drivers.
La estao os seguintes Drivers:

  • MySQL (Connector /j driver)
  • Java DB (Network)
  • Java DB (Embeddeb)
  • PostgreSQL

Então, eu clico com o botão direito em MySQL -> Conectar Utilizando

URL: jdbc:mysql://localhost/livraria
Nome: root
Senha: root

Quando clico em OK o seguinte erro aparece:

- Impossivel adicionar conexão. Não é possivel estabelecer uma conexão para jdbc:mysql://localhost/livraria

utilizando com.mysql.jdbc.Driver

Se souber o que eu estou fazendo de arrado fico grato
Obrigado pela atenção
:smiley:

Linkel

Brother, tente conectar desse mesmo modo porém deixando o campo da senha em branco…
Daí me diz se dá certo…

A

veio da a mesma msg de erro =/
obrigado ae pela dica =)

Linkel

Fera, você modificou a senha do usuário root do MySQL???
E você já se assegurou de que o server do MySQL está rodando? (com mysqld -start no prompt)
Você testou a classe que postei?

A

A classe que vc postou eu testei também da o mesmo erro

C:\Documents and Settings\Administrador>mysqld -start
‘mysqld’ não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

Ja se eu modifiquei a senha não sei mas acho que não.

Obrigado pela atenção ae cara
vlw pela força

Linkel

Cara, eu uso linux e não entendo muito de MySQL no Windows, mas dá uma olhada aí…
http://dev.mysql.com/doc/refman/4.1/pt/windows-start-service.html
Garanta primeiro que o mysql está rodando e então tente conectar sem preencher a senha, porque se você não mudou ela estará em branco…

Linkel

E aí, conseguiu?

A

nao tentei ainda kra tinha dado uma saida de csa
mas qualquer coisa eu posto ai denovo
vlw ae pela ateçao cara
abração

P

Ola Assis__,

voce tem certeza que instalou o mysql(int)

Achei uma coisa boa aqui pra vc, da um olhada em tudo:
http://dev.mysql.com/doc/refman/4.1/pt/windows-server-first-start.html

Ai tem todas as dicas do mysql pra windows…
valeu.

P

2.1.1.7. Iniciando o MySQL no Windows NT, 2000, ou XP

Na família NT (Windows NT, 2000 ou XP) o modo recomendado de executar o MySQL é instalá-lo como um serviço do Windows. O Windows então inicia e para o servidor MySQL automaticamente quando o Windows inicia e para. Um servidor instalado como um serviço também pode ser controlado a partir da linha de comando usando os comandos NET, ou com o utilitário gráfico Serviços.

O utilitário Serviços (o Service Control Manager do Windows) pode ser encontrado no Painel de Controle do Windows (em Ferramentas Administrativas no Windows 2000). É recomendado que se feche o utilitário Serviços enquanto realiza a operações de instalação ou remoção do servidor a partir desta linha de comando. Isto evita alguns erros estranhos.

Para ter o MySQL funcionando com TCP/IP no Windows NT 4, você deve instalar o service pack 3 (ou mais novo)!

Antes de instalar o MySQL como um serviço, você deve primeiro parar o servidor atual em execução usando o seguinte commando:

shell> C:\mysql\bin\mysqladmin -u root shutdown

Isto chama o utilitário administrativo do MySQL mysqladmin para conectar ao servidor e mandá-lo parar. O comando conecta com root que é a conta administrativa padrão no sistema de permissões do MySQL. Por favor, note que o sistema de permissões do MySQL é totalmente independente de qualquer login de usuário sob o Windows.

Agora instale o servidor como um serviço:

shell> mysqld --install

Se você não definir um nome para o serviço, ele é instalado com o nome MySQL. Uma vez instalado, ele pode ser imediatamente iniciado a partir do utilitário Serviços, ou usando o comando NET START MySQL. (Este comando é caso insensitivo).

Uma vez em execução, o mysqld pode ser parado usando o utilitário de Serviços ou usando o comando NET STOP MySQL, ou o comando mysqladmin shutdown.

Se você tiver problemas instalando o mysqld como um servico usando apenas o nome do servidor, tente instalá-lo usando seu caminho compelto:

shell> C:\mysql\bin\mysqld --install

A partir do MySQL 4.0.2, você pode especificaro nome do serviço depois da opção --install. A partir do MySQL 4.0.3, você pode especificar uma opção --defaults-file depois do nome do serviço para indicar onde o servidor deve obter opções ao iniciar. A regras que determinam o nome do serviço e os arquivos de opção que o servidor usa são as seguintes:

*

  Se você não especificar um nome de serviço, o servidor usa o nome padrão do MySQL e o servidor  as opções do grupo [mysqld] no arquivo de opções padrão.
*

  Se você especificar um nome de serviço depois da opção --install, o servidor ignora o grupo de opção [mysqld] em vez de ler opções do grupo que tem o mesmo nome que o serviço. O servidor le opções do arquivo de opções padrão.
*

  Se você especificar uma opção --defaults-file depois do nome de serviço, o servidor ignora o arquivo de opções padrão e lê opções apenas a partir do grupo [mysqld] do arquivo indicado.

Nota: Antes do MySQL 4.0.17, um servidor instalado como um serviço do Windows tinha problema na inicialização se o seu caminho ou nome do serviço possuisse espaços. Por esta razão, evite instalar o MySQL em um diretório como C:\Program Files ou usar um nome de serviço contendo espaço.

No caso normal que você instala o servidor com --install mas nenhum nome de serviço, o servidor é instalado com um nome de serviço de MySQL.

Como um exemplo mais complexo, considere o seguinte comando:

shell> C:\mysql\bin\mysqld --install mysql --defaults-file=C:\my-opts.cnf

Aqui, um nome de serviço é dado depois de opção --install. Se nenhuma opção --defaults-file for dada, este comando teria o efeito de fazer o servidor ler o grupo [mysql] a partir do arquivo de opções padrão. (Isto seria uma má idéia, porque aquele grupoo de opção é para ser usado pelo programa cliente mysql.) No entanto, como a opção --defaults-file está presente, o servidor lê as opções apenas a partir do arquivo indicado, e apenas do grupo de opção [mysqld].

Você também pode especificar as opções como ``Parâmetros de inicialização’’ no utilitário de Serviços do Windows antes de você iniciar o serviço MySQL.

Uma vez que o servidor MySQL é instalado, o Windows irá iniciar o serviço automaticamente sempre que o Windows inicia. O serviço também pode ser iniciado imediatamente a partir do utilitário Serviços ou usando o comando NET START MYSQL. O comando NET não é caso sensitivo.

Note que quando executado como um serviço, o mysqld não têm acesso a um console e então nenhuma mensagem pode ser vista. Se o mysqld não iniciar, verifique o log de erros par ver se o servidor gravou alguma mensagem lá indicando a causa do problema. O log de erro está localizado no diretório c:\mysql\data. É o arquivo com um sufixo .err.

Quando o mysqld está executando como um serviço, ele pode ser parado usando o utilitários Serviços, o comando NET STOP MYSQL, ou o comando mysqladmin shutdown. Se o serviçp estiver em execução quando o Windows desliga, o Windows irá parar o servidor automaticamente.

A partir do MySQL versão 3.23.44, você pode escolher entre instalar o servidor como um serviço Manual se você não deseja que os serviços sejam executados automaticamente durante o processo de inicialização. Para fazer isto, use a opção --install-manual em vez da opção --install.

shell> C:\mysql\bin\mysqld --install-manual

Para remover um serviço que está instalado como um serviço, primeiro pare-o se ele estiver em execução. Então use a opção --remove para removê-lo:

shell> mysqld --remove

Um problema com a finalização automática do serviço MySQL é que, para versões do MySQL anteriores a 3.23.49, o Windows esparava apenas por alguns segundos para o desligamento completo, e matava os processos do servidor de banco de dados se o tempo limite fosse excedido. Isto potencialmente causava problemas. (Por exemplo, o mecanimo de armazenamento InnoDB deverá fazer uma recuperação de falhas na próxima inicialização). A partir do MySQL 3.23.49, o Windows irá esperar mais para que a finalização do MySQL Server esteja completa. Se você notar que ainda não é o suficiente para a sua instalação, não é seguro executar o MySQL Server como um serviço. Em vez disso, execute-o a partir do prompt de comando, e finalize-o com mysqladmin shutdown.

A alteração para avisar para o Windows para esperar mais quando parar o servidor MySQL funciona apenas com o Windows 2000 e XP, mas não para o Windows NT. No NT, o Windows espera apenas 20 segundos para que o serviço seja finalizado, e depois desso ele mata o processo do serviço. Você pode aumentar este padrão abrindo o Editor de Registro (\winnt\system32\regedt32.exe) e editar o valor de WaitToKillServiceTimeout em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control na árvore do Registro. Especifique o novo valor mais largo em milisegundos (por exemplo 12000 para que o Windows NT espere até 120 segundos).

Se você não quiser iniciar o mysqld como um serviço, você pode iniciá-lo a partir da linha de comando do mesmo modo que em versões do Windows que não são baseados no NT. Para instruções use Secção 2.1.1.6, ?Iniciando o MySQL no Windows 95, 98, ou Me?

Linkel

Brother, Assis…
Cara, tenho a ligeira impressão de que você não adicionou a biblioteca do MySQL ao seu projeto…
Você verificou isso?
Para adicionar a biblioteca vá na janela “Projeto” e expanda o nó do seu projeto, daí expanda o nó “Biblioteca” e verifique se tem na árvore a biblioteca “MySQL JDBC Driver…”; é imprescindível que ela esteja lá! Caso não esteja, então clique com o botão direito do mouse sobre “Biblioteca” e selecione, no popup, a opção “Adicionar Biblioteca”… Vai se abrir um diálogo listando as bibliotecas disponíves (no Netbeans 6.1 a biblioteca do MySQL já está disponível na listagem); clique em MySQL JDBC Driver e então em “Adicionar” ou “Add Library”, e verifique se a biblioteca do MySQL JDBC Driver vai aparecer na lista de bibliotecas do seu projeto…
Feito isso tente se conectar novamente! Se não tinha feito isso, muito provavelmente agora vai funfar, rsrsrssrs!!!
Relate o que aconteceu aí…

A

Valeu ae galera pela ajuda eu consegui agora apoko
=)
desde as 7 meio que em cima disso, valeu a ajuda de voces
estou mto grato
qdo tiver problemas novamente retorno
abração
mto obrigado

P

Assis__:
Valeu ae galera pela ajuda eu consegui agora apoko
=)
desde as 7 meio que em cima disso, valeu a ajuda de voces
estou mto grato
qdo tiver problemas novamente retorno
abração
mto obrigado

Ola Assis__,

Seria interessante que voce postasse a solução pra caso haja mais duvidas relativas a sua, para que a pessoa consiga solucionar so lendo o seu topico.

Afinal, o que estava errado(int)

Valeu!

Criado 17 de julho de 2008
Ultima resposta 19 de jul. de 2008
Respostas 36
Participantes 4