fernandovale
(usa Outra)
Enviado em 04/02/2013 - 09:16h
Salve Galera,
É o seguinte, estou realizando a migração de um sistema que utiliza relatórios em java e o banco é firebird.
Após algumas pesquisas verifiquei a necessidade de um JDBC para o firebird, seguindo a instrução de algumas pesquisas fiz o download do jaybird, dentro da pasta /usr/lib/jvm/java-6-openjdk-amd64/jre criei uma pasta jdbc/ e dentro dela descompactei o arquivo do jaybird.
Em seguida editei o arquivo /etc/profile e /root/.profile tendo em vista que sempre executo como root ficou assim:
JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME/bin
export PATH
CLASSPATH=/usr/lib/jvm/java-6-openjdk-amd64/jre/jdbc/jaybird-full-2.2.1.jar
#CLASSPATH=$JAVA_HOME/jre/jdbc/jaybird-2.2.1.jar: $JAVA_HOME/jre/jdbc/lib/antlr-runtime-3.4.jar $JAVA_HOME/jre/jdbc/lib/connector-api-1.5.jar: $JAVA_HOME/jre/jdbc/lib/log4j-core.jar
export CLASSPATH
MANPATH=$MANPATH:$JAVA_HOME/man
export MANPATH
observem que tem um classpath comentado, é pq tentei das duas maneiras.
quando rodo o seguinte código de um colega aqui do vol:
mport java.sql.*;
public class Bco
{
public static void main(String args[])
{
System.out.println("#testando acesso a banco de dado Interbase\n\n");
Connection conn = null;
String teste = "SELECT NOME FROM TAB_CLI_001;";
try
{
Class.forName("org.firebirdsql.jdbc.FBDriver");
conn = DriverManager.getConnection( "jdbc:firebirdsql:ip_do_servidor/3050:/caminho_do_bco_de_dados.gdb", "SYSDBA", "masterkey");
System.out.println("Sucesso na conexão! Massacre!\n");
Statement stm = conn.createStatement();
ResultSet rs = stm.executeQuery(teste);
while (rs.next())
{
String linha = rs.getString("NOME");
System.out.println("Cliente:" +linha);
}
System.out.println("select realizado\n");
}
catch(ClassNotFoundException e)
{
System.out.println("excessao ClassNotFound...");
e.printStackTrace();
}
catch(SQLException e)
{
System.out.println("SQL Exception... Erro dos Bravos");
e.printStackTrace();
}
finally
{
try
{
conn.close();
}
catch(SQLException onConClose)
{
System.out.println("error on closing");
onConClose.printStackTrace();
}
}
}
}
me da o seguinte retorno:
excessao ClassNotFound...
java.lang.ClassNotFoundException: org.firebirdsql.jdbc.FBDriver
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:186)
at Bco.main(Bco.java:12)
Exception in thread "main" java.lang.NullPointerException
at Bco.main(Bco.java:39)
Não entendo muito de programação mas pelo que percebi ele não está achando o driver do firebird.
Meu ambiente é em cima de ubuntu server 12 e o banco está rodando ok pois testei a conexão com o IBexpert.
Então quem puder ajudar agradeço.