Use a tag Code para formatar o código.
A Paz!!
Use a tag Code para formatar o código.
A Paz!!
Agora a respeito de sua conexão. Tipo assim, eu fiz um teste aqui e funcionou blz…
Vc colocou o driver no ClassPath?
Mas pelo erro que deu é algum objeto que está sendo referenciado sem ser instanciado, mas pelo caminho que percorri não encontrei referência nula não…
A Paz!!
Cara, te aconselho a usar conexão direta (sem ODBC) é mais rápida e te deixa independente de plataforma.
A Paz!!
Para vc conectar diretamente, vc deve baixar o driver JDBC para o firebird(jaybird).E isso vc encontra no site oficial.
Tendo o driver em mãos, coloque o jar firebirdsql-full.jar em seu classpath. Daí é só vc fazer como fez no seu tópico:
Classe: org.firebirdsql.jdbc.FBDriver
URL: jdbc:firebirdsql:Maquina_Do_Banco/3050:C://O_Caminho_Do_Seu_Banco_Ou_O_Alias
Usuário e senha.
Qquer coisa posta aí.
A Paz!!
eu peguei o seu código pra aprender como fazer…
o negócio é q eu não sei onde colocar os arquivos do firebird…
se poderia me esclarecer certinho o q devo fazer para q funcione corretamente…
[]'s Thiago
Estou com problemas para conectar o FireBird, estou com o Drive instalado configurado, mas não consigo conectar, a seguinte msg de erro aparece:
Exception in thread “main” java.lang.NullPointerException
at ConexaoInterbase.exeQuery(ConexaoInterbase.java:84)
at ConexaoInterbase.main(ConexaoInterbase.java:32)
(Obs.: por mais que eu tente formatar o código, aqui ele fica sem formatação)
O Código
import java.awt.*;
import javax.swing.*;
import java.util.*;
import java.sql.*;
public class ConexaoInterbase {
final static private String DRV = "org.firebirdsql.jdbc.FBDriver";
private String url = "jdbc:firebirdsql:localhost/3050:" +
"C:\\Boldcron\\Bold.gdb";
private String userName = "sysdba";
private String password = "masterkey";
private Connection conn;
private Statement st;
public static void main(String arg[])
{
ConexaoInterbase a = new ConexaoInterbase();
a.conecta();
a.exeQuery("select * from DADOS;");
}
public boolean conecta() {
boolean result = true;
try {
System.out.println("antes de conectar");
Class.forName(DRV);
conn = DriverManager.getConnection(url, userName, password);
System.out.println("depois de conectar");
}
catch(java.lang.ClassNotFoundException erroClass) {
mensagemErro(erroClass.getMessage());
result = false;
}
catch(SQLException erroSQL) {
mensagemErro(erroSQL.getMessage());
result = false;
}
return result;
}
public void desconecta() {
boolean result = true;
try {
conn.close();
}
catch(SQLException erroSQL) {
mensagemErro(erroSQL.getMessage());
result = false;
}
}
public int regCount(String qry) {
int result = 0;
try {
st = conn.createStatement();
ResultSet rs = st.executeQuery(qry);
rs.next();
result = rs.getInt(1);
st.close();
}
catch(SQLException sqlex) {
mensagemErro(sqlex.getMessage());
}
return result;
}
public int exeQuery(String qry) {
int result = 0;
try {
st = conn.createStatement();
result = st.executeUpdate(qry);
System.out.println("Resultado= "+result);
st.close();
}
catch(SQLException sqlex) {
mensagemErro(sqlex.getMessage());
}
return result;
}
public String getColumn(String qry) {
String result = "";
try {
st = conn.createStatement();
ResultSet rs = st.executeQuery(qry);
rs.next();
result = rs.getString(1);
st.close();
}
catch(SQLException sqlex) {
mensagemErro(sqlex.getMessage());
}
return result;
}
public void getColumn(String qry, String[] reg) {
try {
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(qry);
rs.next();
for (int i = 1; i <= reg.length; i++)
reg[i-1] = rs.getString(i);
st.close();
}
catch(SQLException sqlex) {
mensagemErro(sqlex.getMessage());
}
}
public void getColumn(String qry, String[][] reg, int lin) {
try {
System.out.println(qry);
st = conn.createStatement();
ResultSet rs = st.executeQuery(qry);
for (int i = 1; i <= lin; i++) {
if (rs.next())
for (int n = 1; n <= reg[n].length; n++ )
reg[i-1][n-1] = rs.getString(n);
}
st.close();
}
catch(SQLException sqlex) {
mensagemErro(sqlex.getMessage());
}
}
public void setURL(String valor) {
url = valor;
}
public void setUserName(String valor) {
userName = valor;
}
public void setPassword(String valor) {
password = valor;
}
private void mensagemErro(String msg) {
JOptionPane.showMessageDialog(
null,
msg,
"Erro",
JOptionPane.ERROR_MESSAGE);
}
}
Obrigado…
Encontrei o erro nestas linhas:
-> final static private String DRV = “org.firebirdsql.jdbc.FBDriver”;
-> private String url = “jdbc:firebirdsql:localhost/3050:” +
“C:\Boldcron\Bold.gdb”;
alterando elas para:
-> final static private String DRV = “sun.jdbc.odbc.JdbcOdbcDriver”;
-> private String url = “jdbc.odbc:DbBold”; //Drive JdbcOdbc configurado
Resolveu o problema.
Abraços