JAVA(jdk1.6) + JayBird2.2.0 + Firebird Embarcado 2.0! Ja funcionou com alguem?

8 respostas
root_

Estou tentando fazer uma aplicação usando o banco de dados Firebird, mais não quero instalar servidor de banco de dados toda vez q eu instalar o programa em um PC. Então estou tentando embarcar o Firebird na aplicação. Ja segui todos os passos certinhos de como imbutir o DB firebird na aplicação mais ocorre o seguinte erro quando tento realizar a conexão com o banco:

org.firebirdsql.jdbc.FBSQLException: GDS Exception. 335544379. unsupported on-disk structure for file ; found 32779.10, support .

Reason: unsupported on-disk structure for file ; found 32779.10, support .

at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:122)

at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:131)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:185)

at Tfirebird1.main(Tfirebird1.java:199)

at org.firebirdsql.gds.GDSException: unsupported on-disk structure for file ; found 32779.10, support .

at org.firebirdsql.gds.impl.jni.JniGDSImpl.native_isc_attach_database(Native Method)

at org.firebirdsql.gds.impl.jni.BaseGDSImpl.iscAttachDatabase(BaseGDSImpl.java:135)

at org.firebirdsql.jca.FBManagedConnection.(FBManagedConnection.java:89)

at org.firebirdsql.jca.FBManagedConnectionFactory.createManagedConnection(FBManagedConnectionFactory.java:470)

at org.firebirdsql.jca.FBStandAloneConnectionManager.allocateConnection(FBStandAloneConnectionManager.java:69)
at org.firebirdsql.jdbc.FBDataSource.getConnection(FBDataSource.java:119)
			at org.firebirdsql.jdbc.FBDriver.connect(FBDriver.java:131)
			at java.sql.DriverManager.getConnection(DriverManager.java:582)
			at java.sql.DriverManager.getConnection(DriverManager.java:185)
			at Tfirebird1.main(Tfirebird1.java:199)

Em anexo vai uma pasta chamada exemplo, que estou usando para testar o firebird embedded com um documento sobre utilizar o firebird embarcado na aplicação.

Usandos para teste na aplicação:
IDE Utilizado-> GEL 1.0.0.0 RC3 (Melhor IDE Nativo que ja usei no Windows)
JDK Versão 1.6
Jaybird-2.2.0snapshot_20060810JDK_1.5.zip (DRiver/Interface de Conexao do JAVA com FIREBIRD)
Firebird-1.5.3.4870-0_embed_win32.zip ( Banco de dados Embarcado )

8 Respostas

kicolobo

Jà experimentou o HSQLDB ou o Derby?
São boas alternativas de bancos de dados fáceis de embarcar (pelo menos mais fáceis de embarcar que o Firebird) com sua aplicação feita em Java.

root_

Ja sim, mais bem, se tem como embarcar o Firebird, eu gostaria de fazer funcionar, e n fujir do problema. Ja fiz funcionar com o HSQLDB e Derby tranquilo tranquilo… xD

Silver_sp

Que tal o Berkley Db, simples e eficiente.

Vc imbute ele na aplicação e informa onde ele deve colocar os arquivos do DB e sucesso! Estou a fazer um tutorial básico sobre isso.

root_

[size=18]Consegui galera… [/size]
MINHAS SOLUÇÕES:
1: Criei uma classe para carregar os .jars e .dll do diretório q vc determinar, está em anexo a classe LoadJarOrDll e uma classe de teste para Conexão com o DB Firebird!
2 e + importante: As Dlls do Firebird-Embeded devem estar no mesmo diretório do arquivo . FDB.

root_

Contem 2 arquivos:
LoadJarOrDll - Classe q lê um diretório e carrega no PATH .JARs e .Dlls q vc deseja carregar em sua aplicação, ou seja, não é preciso colocar um .jar no ClassPath do SO. isso pode ser feito na inicialização de sua aplicação. Por exemplo, o .JAr do JayBird( JDBC para o DB Firebird ) para realizar conexão via JDBC é carregado no CLASSPATH em tempo de execução e se encontra no mesmo diretório da minha aplicação…
TFirebird1 - Classe para teste de conexão q eu utilizei!

root_

Vlw pela dica de usar o HSQLDB, é ótimo para apicações Standalone…

root_

Estou usando agora o Firebird Embarcado… e funciona perfeitamente…
basta colocar todas as dlls no classPath da aplicaçao e pronto…
Show

Giovani_Figueiredo

root_ eu estou tentado embarcar o firebird na minha aplicação, entendi esse passo a passo que você fez! Mas quando é embarcado, como que criar tabelas e rodar scripts?

Criado 13 de fevereiro de 2007
Ultima resposta 28 de jul. de 2015
Respostas 8
Participantes 4