Академический Документы
Профессиональный Документы
Культура Документы
Criandoumaaplicao"embarcada"comoFirebird
Seguir@linhadecodigo
HOME
DESENVOLVIMENTO
FRONTEND
BANCODEDADOS
EMDESTAQUE
2.459
Pesquisar
LogIn/Cadastrese
Enviar
3.166seguidores
TODOS
PUBLIQUE
Publicidade
BancodeDadosFirebird
Criandoumaaplicao"embarcada"comoFirebird
OFirebirdumbancodedadosleve,rpidoebastanteflexivel,umadessasflexibilidadesacapacidadede
"embarcar"aplicaescomele...
porGladistonSantana
19
Like
OFirebirdumbancodedadosleve,rpidoebastanteflexivel,umadessasflexibilidadesa
capacidadede"embarcar"aplicaescomele.
Comoassim"embarcar"?Talvezvocepergunte.
"Embarcar"significaquevocepodecriarumaplicativoeembutiroFirebirddentrodeseucdigode
REVISTASDEVMEDIA
formatransparenteedistribuilodeformafcil,bastaexecutarseuaplicativoepronto.Nenhuma
instalaodoFirebirdserexecutada,ouconfiguraoexistentesermexida,nemmesmoser
necessriopararoFirebird/Interbasequeestejaexecutandonaqueleinstante.
Vamosumexemploparaficarmaisfacilentender,digamosqueprecisedistribuirumCDROMcom
umcatalogodepreos,nesteCDROMvocevaiquerergravarseuaplicatiboeacessarosdadosque
estogravadoslocalmentenoCDROM.Vocenoquerutilizarumbancodedadosflattablecomo
Paradox,AccessouDBFporquevocejpossuioaplicativocriadoparaacessarosdadosem
Firebird/Interbase.Adificuldadeserianadistribuiodetalaplicativo,poisforaosusuriosainstalaro
.netMag119
Firebird/InterbaseapenasparaverumCDROMpodesero"fimdapicada".Umaoutrasugestoseria
embutirdentrodoseuaplicativoCatalogoEletronico.EXEoFirebird"Embeded"ouembutido,ento
Easy.netmag39
VERTODAS
ASSINE
nessecasoapenasaexecuodoCatalogoEletronico.EXEjseriaautosuficienteparaacessarabase
dedadosnoCDROM.Entendeu?
Podeparecerdificilfazerissoaprimeiravista,massevocepercebernesteartigo,oquosimples,
tosimplesquetalvezvocedesejeutilizalosemtodososaplicativosquevocecrie,pormdeantemo
devolheavisarqueaversoembarcadadoFirebirdpossuiasseguintescaractersticas:
Apenasparaacessolocal(HD,CDROM,...)enoimplementanenhumacessoviaprotocolode
rede,mesmo"localhost"nofunciona,poressarazonotarqueaperformanceeoconsumo
dememoriaserootimizadosquandoseuaplicativoforexecutado
QualquerconfiguraodoFirebirdouInterbasejinstaladonamquinaignorado,ouseja,
noprecisodesinstalarnadaoupararoservio,nadamodificadoemconfiguraes
TOP10ARTIGOS
TOP10AUTORES
ComandosbsicosemSQLinsert,
update,deleteeselect
HTMLBsico
Excel:Comoverificarseexistevalores
duplicados
MenuemCSSMenudropdownhorizontal
comHTML5eCSS3
Criandoumsistemadecadastroelogin
comPHPeMySql
SQL:UtilizandooOperadorUNIONe
UNIONALL
Excel:ComparandoListas
CopiandodadoscomoRobocopy
Quantovaleoseuservio?Aprendaa
cobrarpeloseutrabalho.
existentes,issoumalvioparaquemjestavaacustumadoaterproblemasquandotinhade
distribuiroarcaicoBDE.Paraseterumaidia,oFirebirdembarcadosequerfazusoderegistry
Naquestodesegurana,averso"embarcada"noimplementanenhummecanismode
autenticao,asenhaignorada,apesardissosevocelogarsecomo"Pedro"eseestepossuir
certasrestriesemtabelas,estasrestriesserorespeitadas.Paraquemdesejacriaruma
aplicaoembarcadadesejavelqueusesempreaconta"SYSDBA"paranoesbarrarem
problemasdepermisses
Naquestodecompatibilidadevocepoderprogramarexatamentecomofaziaantes,sevoce
programadorDelphieusavaoIBXparaacessaroFirebird,continueusandooIBX,sevoce
usavaoIBO,continueausaroIBO...nadamudanoseuestilodeprogramao,apenasotipo
deacessoquepassaraserlocalaoinvsdeTCP/IP,NetBIOSouIPX/SPX
Vocepodedispararquantasaplicaes"embarcadas"simultaneamentequiserquenohaver
10
AlertemJavascript
nenhumconflito,mesmoqueexistaoutrasaplicaesusandooFirebird/Interbaseemrede,
apenastenhacertezadetermemriaosuficientepararodartodaselas
VERTODOS
AarquiteturausadanomodeloembarcadoaSuperServer,cadaaplicativo"embarcado"
abrirumanovainstanciadoSuperServer,commuitosaplicativos"embarcados"rodando
simultaneamentepoderhaverproblemasdelentidosenohouvermemriasuficiente,sem
falar,quedoisoumaisaplicativosacessandoamesmabasedevesetercuidado,poisoFirebird
embarcadonofoiidealizadoparaessasituao
http://www.linhadecodigo.com.br/artigo/113/criandoumaaplicacao%22embarcada%22comofirebird.aspx
1/4
03/02/2015
Criandoumaaplicao"embarcada"comoFirebird
InstalandooFirebirdEmbarcado
Primeiramentebaixeaverso"Embeded"(Embarcado)doFirebird,seforcriaraplicativosLinux,ter
depuxaroCVSdoFirebirdecompilalocomadiretriz"embeded"egerarum"sharedobject"(.so)
quedeverserincorporadosuaaplicaoKylix,C++,Phyton,....epoderusalocomonas
instruesqueseseguiroparaoWindows.SevoceescreveprogramasemambienteWindows,a
situaomaissimples,poisjexisteaDLLdoFirebirdEmbededdisponivelem:
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_download(715KB)
Parainstallofaaoseguinteprocedimento:
CrieumapastanodriveC:\MY_APPedescompacteoFirebirdEmbedednela(socercade4
arquivoscontandooREADME)
CrietambemumapastaemC:\MY_APP\FBemovaoarquivofirebird.msgparaessapasta
CopieoseubancodedadosFirebird(.gdbououtro)paraapastaC:\MY_APP
AmaioriadoscomponentesdeacessonoDelphi/Kylixestopreviamenteconfiguradospara
usarDLLclientdoInterbasechamadagds32.dll,essaDLLnoFirebirdEmbarcadochamase
fbembed.dll,noentanto,sevoceusaDelphi/Kylixprovavelquetaiscomponentesqueiro
utilizaragds32.dllentofaaoseguinte:renomeieoarquivoC:\MY_APP\fbembed.dllpara
C:\MY_APP\gds32.dll
Editeoarquivofirebird.confqueseencontraemC:\MY_APPemodifiqueaseguintelinha:
RootDirectory=C:\MY_APP\FB
SeseubancodedadosutilizaUDF"s,entocrieapastaC:\MY_APP\FB\UDFecopietais
UDF"s(queemgeralficariamemc:\arquivosdeprogramas\firebird\udf)paral
Seseubancodedadosutilizacharsetsoucollatesdeterceiros,entocrietambemumapasta
C:\MY_APP\FB\INTLecopieasDLL"s(queemgeralficariamemc:\arquivosde
programas\firebird\intl)paral.
NarealidadeapastaC:\MY_APP\FBseramesmacoisadoqueC:\ARQUIVOSDE
PROGRAMAS\FIREBIRDcomasmesmasestruturas,equepodeounonecessitardaspastasINTLe
UDF.NomeucasoquenofaousodecollatesdeterceirosenemUDF,ficaassimaestrutura:
C:\MY_APP\firebird.conf
C:\MY_APP\meu_aplicativo.exe
C:\MY_APP\meus_dados.gdb
C:\MY_APP\gds32.dll
C:\MY_APP\FB\firebird.msg
C:\MY_APP\FB\UDF\
C:\MY_APP\FB\INTL\
Criandoumaaplicaoparaserembarcada
Umaaplicaoparaser"embarcada"precisateraseguintescaracteristicas:
Opathdobancodedadosdeverseridentificadonocomponentedeacessocomopartindose
dodiretorioondeseencontraseuaplicativo,porexemplo,seseubancodedadosestem
"localhost:c:\my_app\meus_dados.gdb"entouseopath"meus_dados.gdb",umpathde
conexaocomobancodedadoscomo"localhost:c:\my_app\dados\meus_dados.gdb"serna
realidadecomo"dados\meus_dados.gdb"
Usesempreasenha"SYSDBA/masterkey"paranoterproblemascompermisses.
Oprotocolodecomunicaodeverser"local"enuncaremota:
UmexemplodeconexousandooIBObjects:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
withIB_Connection1do
begin
Username:="SYSDBA";
Password:="masterkey";
Database:="meus_dados.gdb";
Protocol:=cpLocal;
Open;
end;
UmexemplodeconexousandoIBX(InterbaseExpress):
withIB_IBDatabase1do
begin
DatabaseName:="meus_dados.gdb";
Params.Clear
Params.Add("user_name=SYSDBA");
Params.Add("password=masterkey");
Open;
end;
http://www.linhadecodigo.com.br/artigo/113/criandoumaaplicacao%22embarcada%22comofirebird.aspx
2/4
03/02/2015
Criandoumaaplicao"embarcada"comoFirebird
Sevoceforespertovaiperceberqueseusararquivos.INIouentradasnoRegistryparagravaressas
definies,entopoderfacilmentesemnenhumarecompilaodoprojetotornarseuaplicativo
"embarcado"ouno.Alias,euacreditoqueamaioriadosprogramadoresjfazemissoparanoter
queengessarseuprogramaaumlocalespecificoparaservirderecipientededados.
Consideraesfinais
Osarquivosembarcadosnasuaaplicaocabemnumsimplesdisquetede1.44K,umaaplicao
embarcadaconsumirapenas1MBdeRAMamaisdoqueumaaplicaonomodeloclassico.Eso
apenas3arquivos(firebird.conf,fbembeded.dll,firebird.msg)quedevemserinstaladosjuntamente
comoseuaplicativo.Istosimplificabastantedistribuiodecatalogoseletrnicos,programascom
acessoadadosnocompartilhado,quiosques,etc...somentenorecomendariaquevocedeixasseo
modelotradicionalparausalocomo"modismo"poisomodelotradicionalcliente/servidorparatais
tarefasaindaomelhor.
OprimeiroexemplodeexecutarCatalogoEletronico.EXEapartirdeumCDROMfoiapenasuma
suposio,aversoembarcadadoFirebirdpossuiumproblemaqueaindanofoiresolvido,ao
executarqualquerprogramacomoFirebirdembarcadosocriadosarquivosdelock(.lck)napastado
servidor,emnossoexemploposteriorseriaemC:\MY_APP\FB,massefossenumCDROMhaveria
problema,poistalpastaseriadeapenasdesomenteleitura.Ataversofinaldo"FirebirdEmbeded"
surgiralgumaopodentrodoarquivofirebird.confquepossaresolvertalquesto.
Arquivosparadownload:
ParabaixaroFirebirdEmbarcadoentocliqueaqui(apenas715KB).
EsteartigoestsobformadelicenaGPL(GeneralPublicLicense)epodeserreproduzidoe
distribuidolivrementeemoutrostiposdemdiadiferentesdondeesteartigofoioriginalmentepublicado,
noentanto,atenteseparafatodequequalquerprodutoassociadoesteartigotambmherdaras
caractersticasGPLetambmdeverserfornecidolivremente.
ParamaioresesclarecimentosleiasobreaGPLem:http://www.gnu.org/philosophy/philosophy.pt.html
GladistonSantanaProgramadoreEspecialistaemBancodeDados.
19
Like
Leiatambm
IntroduoaoMorfikUmasoluoparavriosseguimentos
Delphi
ODBAdeAltaPerformance
Firebird
UtilizandoSGBDFireBird2.0comADO.NET
Firebird
PassoapassocomoacessarobancodedadosFireBirdusandoC#.Net,FireBird.NetDataProvider...
C#
2FirebirdDevelopersDayAcompanheaquicomofoioevento
Firebird
Estamosaqui:
LinhadeCdigofazpartedogrupoWeb03
Polticadeprivacidadeedeuso|Anuncie|Cadastrese|Faleconosco
http://www.linhadecodigo.com.br/artigo/113/criandoumaaplicacao%22embarcada%22comofirebird.aspx
3/4
03/02/2015
Criandoumaaplicao"embarcada"comoFirebird
LinhadeCdigo
Curtir
12.110pessoascurtiramLinhadeCdigo.
PluginsocialdoFacebook
2015LinhadeCdigo.Todososdireitosreservados
http://www.linhadecodigo.com.br/artigo/113/criandoumaaplicacao%22embarcada%22comofirebird.aspx
4/4