Probelma com JDBC

12 respostas
JJjava

Olá,

Eu usava ODBC mas como o numero de maquinas rodam a minha aplicação aumentou ficar configurando fonte de dados em todas as maquinas e inviavel entao parti para o jbdc configurei o classpath = do tutorial mas quando executo a aplicação tenho erro

ava.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver

at java.net.URLClassLoader$1.run(URLClassLoader.java:200)

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

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)

at java.lang.ClassLoader.loadClass(ClassLoader.java:251)

at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:164)

at Helpdesk.MyConnection.getConnection(MyConnection.java:13)

at Helpdesk.SQL_Frame_Login.ver_login(SQL_Frame_Login.java:34)

at Helpdesk.Frame_Login$ButtonHandler.actionPerformed(Frame_Login.java:99)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:234)

at java.awt.Component.processMouseEvent(Component.java:5488)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3093)

at java.awt.Component.processEvent(Component.java:5253)

at java.awt.Container.processEvent(Container.java:1966)

at java.awt.Component.dispatchEventImpl(Component.java:3955)

at java.awt.Container.dispatchEventImpl(Container.java:2024)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822)

at java.awt.Container.dispatchEventImpl(Container.java:2010)

at java.awt.Window.dispatchEventImpl(Window.java:1766)

at java.awt.Component.dispatchEvent(Component.java:3803)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

o codigo de conexao e

public static Connection getConnection() throws Exception

{

Class.forName(“org.gjt.mm.mysql.Driver”);

Connection c = java.sql.DriverManager.getConnection(“jdbc:mysql://localhost:3306/mysql?useUnicode=true,root,123);

return c;

}

12 Respostas

A

Voce precisa colocar o drive do Mysql na sua biblioteca.

JJjava

como faço isso ??

felipe_thrash

se tiver no NetBeans, vc irá adicionar assim:

vai em Libraries do seu projeto --> Add JAR/folder
e adicione seu driver

:smiley:

no Eclipse

va em Propriedades do seu projeto --> Java Build Path --> Add Jar
e adicione seu driver!

:smiley:

JJjava

felipe_thrash:
se tiver no NetBeans, vc irá adicionar assim:

vai em Libraries do seu projeto --> Add JAR/folder
e adicione seu driver

:smiley:

no Eclipse

va em Propriedades do seu projeto --> Java Build Path --> Add Jar
e adicione seu driver!

:smiley:


kara funcinou wlw abraço

JJjava

JJjava:
felipe_thrash:
se tiver no NetBeans, vc irá adicionar assim:

vai em Libraries do seu projeto --> Add JAR/folder
e adicione seu driver

:smiley:

no Eclipse

va em Propriedades do seu projeto --> Java Build Path --> Add Jar
e adicione seu driver!

:smiley:


kara funcinou wlw abraço

agora fui testar nas maquinas clientes nao funcionou como tenho q fazer ? tem q colokar o driver la tb ? eles rodam a aplicação a partir do jar q fica em um compartilahmento no servidor.
verifiquei q a aplicação so estava acessando a base de dados quando eu executo dentro do netbeans se executtar o jar no servidor tb nao funciona oq sera agora?
abraço

felipe_thrash

pera aí,

se o usuário acessa a aplicação no servidor, através de um atalho… então não tem problema (tente reiniciar o servidor e tal)

agora se o usuário tem a aplicação em cada maquina pra acessar o servidor, vc vai ter q colocar o driver em cada maquina de usuario, assim como atualizar cada aplicação…

JJjava

felipe_thrash:
pera aí,

se o usuário acessa a aplicação no servidor, através de um atalho… então não tem problema (tente reiniciar o servidor e tal)

agora se o usuário tem a aplicação em cada maquina pra acessar o servidor, vc vai ter q colocar o driver em cada maquina de usuario, assim como atualizar cada aplicação…


resolvi era a pasta lib q nao tinha colocado no compartilhamento… :smiley:

aproveitando o topico como faço para criar pastas, copiar e deletar vou fazer um instalador para a aplicação ai copia tudo certo na hora de instalar no servidor.

felipe_thrash

um problema que tive…
q vc pode testar tb…

seu Driver… pode tá dando pau tb ( possibilidade) caso reiniciar servidor nao resolva…

troque seu driver, baixe la no site do mySQL

e altere a conexão na linha:

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

qualquer coisa da um toque ae!

att’s

felipe_thrash

a só… então ta blz!

ehehe :stuck_out_tongue:

felipe_thrash

bem… acredito que um .bat resolve isso daí que vc quer… acho q no google vc acha algo sobre isso… ou aki tb pesquisando…

boa sorte

falows!

vemeira

Oi pessoal…
Bom…eu estou montando um projeto em Java, utilizando o Jcreator
Estou fazendo conexão com o Banco de dados, porém ao executar o programa e clicar no botão para gravar o registro no banco, no prompt aparecem várias instruções, e a primeira delas é essa:

java.lang.nullpointerexception

mas ainda existem umas 20 linhas com diversos “erros”
não sei o que fazer para resolver o problema, pois já revisei o programa várias vezes, e não acho o erro!
Quem puder ajudar…ficaria imensamente grata :slight_smile:

Segue o código do programa:

import java.sql.<em>;

import javax.swing.</em>;

import java.awt.<em>;

import java.awt.event.</em>;

public class buscanome extends JFrame implements ActionListener
{

JLabel L1,L2;

JButton btpesquisar, btcancelar;

static JTextField tfNome;

String nome;

JPanel painel1 = new JPanel();

ResultSet rs;

Statement MeuState;

Connection MinhaConexao;

boolean status;

public static void main(String args[])
{

JFrame Janela = new buscanome();

Janela.show();

WindowListener x = new WindowAdapter()

{

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

};

Janela.addWindowListener(x);

}
buscanome()

{

painel1.setLayout(new FlowLayout(FlowLayout.LEFT));

L1 = new JLabel("Você selecionou a opção de identificação por nome.Por Favor: ");

L2 = new JLabel(“Digite o nome para pesquisar.”);
tfNome = new JTextField(50);

nome = tfNome.getText();

btpesquisar=new JButton(Pesquisar);

btcancelar=new JButton(Cancelar Operação);

btpesquisar.setBackground(new Color(180,180,250));
btcancelar.setBackground(new Color(180,180,250));

btpesquisar.addActionListener(this);
btcancelar.addActionListener(this);

painel1.add(L1); painel1.add(tfNome);

painel1.add(L2);

painel1.add(btpesquisar); painel1.add(btcancelar);
getContentPane().add(painel1);

setTitle(Busca por Nome);

setSize(600,140);

setResizable(false);

String url = jdbc:odbc:MeuBanco;
try

{

Class.forName( sun.jdbc.odbc.JdbcOdbcDriver );

MinhaConexao = DriverManager.getConnection(url);

}

catch(ClassNotFoundException erro)

{

System.out.println(Driver JDBC-ODBC nao encontrado!);

return;

}

catch(SQLException erro)

{

System.out.println(Problema na Conexao com fonte de dados);

return;

}}
public void actionPerformed(ActionEvent e)

{

if(e.getSource()==btpesquisar)

{

try

{

//MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);

String sql = select * nome from Pacientes where nome = '” + nome + “’”;

tfNome.getText();

rs = MeuState.executeQuery(sql);

rs.next();

nome = rs.getString(nome);
String sql2=Insert into Resultado(resulnome) Values (sql);

MeuState.executeUpdate(sql2);

JOptionPane.showMessageDialog(null, Gravação Realizada com sucesso!);
}

catch(SQLException erro) { }

}} }
L

java.lang.NullPointerException e qdo vc estah apontando para um objeto que não existe ou o caminho dele esta incorreto.
poste o tds os erros ai pra gente ver ai a galera vai ajudar, qual ide vc usa , qual banco?

Criado 8 de novembro de 2007
Ultima resposta 8 de nov. de 2007
Respostas 12
Participantes 5