Fala pessoal. Estou desenvolvendo uma aplicação e tenho a intenção de usar a versão embarcada do Firebird.
Abaixo segue o código para a conexão com o banco. Já fiz download da versão embarcada e descompactei na pasta da aplicação.
Estou utilizando a versão 2.5.2 x64
package br.fagoc.DAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author Thiago Sartori
*/
public class FabricaConexao {
private Connection Conexao;
public void GeraConexao() {
this.Conexao = null;
try {
//String URL = "jdbc:firebirdsql:localhost/3050:c:/BancoDadosFirebird/BD_IOB-ERP.FDB?cl_ctype=WIN1252";//Conexão padrão (Servidor do Firebird instalado)
String URL = "jdbc:firebirdsql:embedded:c:/BancoDadosFirebird/BD_IOB-ERP.FDB"; //Conexão para a versão embedded do firebird.
String user = "sysdba";
String password = "masterkey";
this.Conexao = DriverManager.getConnection(URL, user, password);
} catch (SQLException e) {
System.out.println("Ocorreu um erro na SQL de conexão: " + e.getMessage());
this.Conexao = null;
}
}
// ***** Padrão Singleton INICIO http://wmagician.wordpress.com/2008/01/02/padrao-singleton-em-java/
private static FabricaConexao ConexaoBanco;
public static FabricaConexao getInstance() {
if (ConexaoBanco == null) {
ConexaoBanco = new FabricaConexao();
ConexaoBanco.GeraConexao();
}
return ConexaoBanco;
}
// ***** Padrão Singleton FIM
public Connection getConexao() {
return Conexao;
}
}
O problema é que alguma coisa esta errada, visto q ele não consegue se conectar ao banco. Segue em anexo o erro retornado.
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: no jaybird21 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at org.firebirdsql.gds.impl.jni.JniGDSImpl.initJNIBridge(JniGDSImpl.java:58)
at org.firebirdsql.gds.impl.jni.JniGDSImpl.<clinit>(JniGDSImpl.java:23)
at org.firebirdsql.gds.impl.jni.EmbeddedGDSFactoryPlugin.getGDS(EmbeddedGDSFactoryPlugin.java:40)
at org.firebirdsql.gds.impl.GDSFactory.getGDSForType(GDSFactory.java:219)
at org.firebirdsql.jca.FBManagedConnectionFactory.getGDS(FBManagedConnectionFactory.java:117)
at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:125)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at br.fagoc.DAO.FabricaConexao.GeraConexao(FabricaConexao.java:25)
at br.fagoc.DAO.FabricaConexao.getInstance(FabricaConexao.java:37)
at br.fagoc.VIEW.Principal.<init>(Principal.java:26)
at br.fagoc.VIEW.Principal$18.run(Principal.java:345)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Se alguém tiver uma sugestão posta ai
ps. O Driver do JayBird já foi add ao projeto.
ps2. A aplicação executa perfeitamente na versão instalada do firebird. Estou tendo problemas apenas com a embarcada.
ps3. Estou utilizando a versão 2.5.2.