JDBC Ubuntu 12.04 [RESOLVIDO]

1. JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
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.


  


2. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 04/02/2013 - 09:43h

fernandovale escreveu:

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.



Adicione o conector do Firebird (arquivo .jar) no projeto na IDE Netbeans ou Eclipse.

http://www.firebirdsql.org/en/jdbc-driver/



3. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 04/02/2013 - 09:51h

A questão é essa

Eu preciso do jdbc rodando dentro do ubuntu por ser um sistema web em php que utiliza somente os relatórios em java.

No caso não utilizo eclypse ou nenhuma IDE




4. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

5. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 04/02/2013 - 09:57h

Opa,

Cara eu segui esse tuto ai, tanto que o código que uso de teste foi esse do tuto e da o erro que descrevi, ta tenso, o sistema está todo migrado faltando somente a parte dos relatórios.


6. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 04/02/2013 - 10:25h

notei no seu primeiro post que esta usando openjdk, deve ser por isso, talvez, instalou via apt-get ?

Tente remover o openjdk e baixar o jdk diretamente do site da Oracle fazendo a instalação/configuração do path jdk manualmente.

http://mundodacomputacaointegral.blogspot.com.br/2011/08/instalacao-e-configuracao-do-java-e.html


7. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 04/02/2013 - 11:56h

Olá,

Por algum motivo não consegui seguir esse tutorial:

http://mundodacomputacaointegral.blogspot.com.br/2011/08/instalacao-e-configuracao-do-java-e.html

Dizia que o bash não encontrava a pasta mesmo ela estando lá.

Mas pesquisando segui um tutorial aqui do vol mesmo:

http://www.vivaolinux.com.br/artigo/Java-no-Ubuntu-1204-Instalacao-a-moda-antiga/

Rodo o java -version
java version "1.7.0_13"
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)

porém por este tutorial não roda o javac.

mas mesmo assim coloquei o jar do Jaybird dentro da /usr/lib/jvm/java-7-oracle/lib e rodo um jar que um colega fez para teste chamado Conect.jar e continua o mesmo erro:

Não foi possível conectar ao banco: org.firebirdsql.jdbc.FBDriver


8. Javac e driver JDBC para Firebird

Rogerio J. Gentil
rogerio_gentil

(usa Ubuntu)

Enviado em 04/02/2013 - 16:50h


porém por este tutorial não roda o javac.


@fernandovale:

Você poderia rodar o comando

$ /usr/lib/jvm/java-7-oracle/bin/javac <Classe>

ou ainda, configurar o Java para o sistema também (seguindo meu tutorial):

$ sudo update-alternatives --install "/usr/bin/javac" "javac" /usr/lib/jvm/java-7-oracle/bin/javac 1

Daí, poderia usar somente:

$ javac <Classe>

Realmente parece que este pequeno código java não está encontrando o driver JDBC. Acho que você pode colocar o driver (.jar) dentro do diretório /usr/lib/jvm/java-7-oracle/jre/lib, mas não tenho certeza se isto impactará em algum problema. Teste antes!!!


9. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 04/02/2013 - 17:00h

Opa Rogerio obrigado pela resposta,

A questão do javac foi resolvido seguindo o que vc falou com certa tranquilidade.

Agora a questão que anda tirando meu sono e impedindo a migração persiste, baixei o JDBC Jaybird mas continua o mesmo erro executando o jar comentado acima:

Não foi possível conectar ao banco: org.firebirdsql.jdbc.FBDriver


Nesse caso mesmo fazendo uma instlação manual teria que apontar o Classpath no etc/profile apontando nesse caso a pasta /usr/lib/jvm/java-7-oracle/jre/lib???




10. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 05/02/2013 - 08:56h

Galera,

Coloquei o seguinte no /etc/profile:

CLASSPATH="$CLASSPATH:/usr/lib/jvm/java-7-oracle/jre/jdbc/jdbc2_0-stdext.jar;/usr/lib/jvm/java-7-oracle/jre/jdbc/firebirdsql.jar;/usr/lib/jvm/java-7-oracle/jre/jdbc/lib/jaas.jar;/usr/lib/jvm/java-7-oracle/jre/jdbc/lib/log4j-core.jar;/usr/lib/jvm/java-7-oracle/jre/jdbc/lib/mini-concurrent.jar;/usr/lib/jvm/java-7-oracle/jre/jdbc/lib/mini-j2ee.jar"


E nada, coloquei invés do ";" o ":" dando espaço e nada tbm, a questão dos ";" vi na documentação da oracle mesmo.

Mais alguma ideia?


11. Mesmo Caso.

Humberto Aquino
HumbertoAquino

(usa Outra)

Enviado em 05/02/2013 - 19:14h

Também estou nessa mesma situação ja alguns dias tentando instalar esse drive do firebird Jaybird-2.1.6JDK_1.6 ja segui inumeros tutorial, posts e etc o que achei eu tentei e não consegui, também ficaria muito agradecido caso algum colega aqui nos de uma ajuda.




12. Re: JDBC Ubuntu 12.04 [RESOLVIDO]

fernando freitas do vale
fernandovale

(usa Outra)

Enviado em 06/02/2013 - 08:12h

E ai galera?

Além disso li tudo vi a documentação do classpath nesse link:

http://www.guj.com.br/articles/108

Mesmo seguindo essa orientação, não resolveu e além disso reinstalei o java baixando o tar da oracle mesmo, instalando na mão.

Quem puder ajudar agradeço, porque como falei anteriormente uma migração ta dependendo disso e já entrei em listas do firebase, pesquisei tudo que pude na net e nada, acredito eu que seja uma configuração entre o ubuntu e o java.



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts