Fórum Conectar Firebird ao Delphi #229409

02/05/2004

0

Olá pessoal, estou tentando mudar de bd do access para o firebird.. ja consegui criar um banco de exemplo no IbExpert, mas nao consigo conectar ele no delphi pelo dbexpress.. tem como alguem me ajudar? um passo-a-passo??

Quando eu tenho, ele diz q da problema na Dll e tal.. eu sei q, quando eu vou criar o bd, eu uso a dll fbclient.dll, do firebird, nao deixando akela dll padrao do interbase.. pode ser isso q da problema?? grato pela ajuda de vcs...



Allan Elias Ramos :roll:


Aersoftware

Aersoftware

Responder

Posts

02/05/2004

Vinicius2k

Colega,

Aqui vc encontra um tutorial sobre conectar IB/FB com DBX no Delphi : http://www.clubedelphi.com.br/apostilas/DBExpress.zip

Caso não resolvam suas dúvidas, procure fornecer-nos mais detalhes, como a mensagem exata de erro, por exemplo...

Espero ter ajudado.

T+


Responder

Gostei + 0

03/05/2004

Aersoftware

Valeu Vinicius, vou dar uma olhada.. abraços..



Allan Elias Ramos


Responder

Gostei + 0

03/05/2004

Aersoftware

Olá Vinícius.. realmente, nao consegui muita ajuda com essa apostila..

O erro q aparece quando eu tento colocar o Connected pra True é o seguinte:

ConexaoFb: DLL/Shared Library Name Not Set.


Só quero salientar q, nao hora q eu criei o Banco pelo IbExpert, ele tem uma oção q diz ´Client Library File´.. onde o padrao é ´gds32.dll´ .. creio q esse seja o padrao do Interbase né? só q eu apaguei o Interbase do meu computador e instalei o Firebird 1.5.. e eu li na Clube Delphi 50 q é melhor criar os bancos em Firebird com o ´fbclient.dll´ como padrao.. e foi exatamente isso q eu fiz.. talvez seja esse o problema.. só q nao sei como posso resolver..

Eu tentei conectar usando o exemplo q saiu na Clube Delphi 45, na matéria ´Campos Blob no Ib/Fb´ do Carlos Cantu.. e a 1ª vez q fiz, funcionou.. depois nao funcionou mais dando esse erro q eu descrevi acima.. agradeço desde ja a ajuda..



Allan Elias Ramos :roll:


Responder

Gostei + 0

03/05/2004

Vinicius2k

Olá Allan,

Nenhum problema em criar o banco com a fbclient, mas a mensagem de erro diz : ´Nome da DLL cliente não setada´...

Vc configurou a propriedade [color=red:29a251b875]VendorLib[/color:29a251b875] do TSQLConnection para [color=red:29a251b875]FBCLIENT.DLL[/color:29a251b875] ?
Lembre-se tbm que esta DLL precisa estar visível a sua aplicação, no System do Windows, por exemplo...

T+


Responder

Gostei + 0

03/05/2004

Aersoftware

Vinicus,

Eu copiei e colei a dll da pasta orginal pro System e pro System32 do windows.. nao sei se isso funciona, já q quando eu instalei o Fb, ele criou automaticamente a pasta q eu quis instalar o mesmo..

Modifiquei o VendorLib pra ´fbclient.dll´ e o LibraryName tb pra ´fbclient.dll´ .. agora o problema q da quando eu tento conectar é o seguinte:

Unable to Find Procedure




Allan Elias Ramos :cry:


Responder

Gostei + 0

03/05/2004

Aersoftware

Só mais uma observação.. quando eu instalei o Fb 1.5, eu segui os passados da Clube Delphi 50.. e ali tem a opção de copiar o FbClient.dll pra pasta system do windows.. como eu uso o windows xp, ali disse q era recomendável deixar essa opção desmarcada, e eu deixei.. isso pode ter influenciado???



Allan Elias Ramos :cry:


Responder

Gostei + 0

03/05/2004

Vinicius2k

Allan,
Modifiquei o VendorLib pra ´fbclient.dll´ e o LibraryName tb pra ´fbclient.dll´

LibraryName é o nome da DLL Driver para o DBX... não deve ser confundida com a DLL Cliente do banco de dados... é o LibraryName que permite ao DBX conectar-se a bancos diferentes...
O valor correto para esta propriedade, depende do driver que vc quer utilizar, e no seu caso, como vc não deve ter um outro driver, vc deve usar o driver nativo do Delphi para Interbase setando essa propriedade para ´[color=red:73aaf09c61]dbexpint.dll[/color:73aaf09c61]´
Um exemplo de configuração padrão da TSQLConnection para vc comparar :
    DriverName = ´Interbase´
    GetDriverFunc = ´getSQLDriverINTERBASE´
    LibraryName = ´dbexpint.dll´
    Params.Strings = (
      ´BlobSize=-1´
      ´CommitRetain=False´
      ´Database=c:\firebird\examples\employee.fdb´
      ´ErrorResourceFile=´
      ´LocaleCode=0000´
      ´Password=masterkey´
      ´RoleName=RoleName´
      ´ServerCharSet=´
      ´SQLDialect=1´
      ´Interbase TransIsolation=ReadCommited´
      ´User_Name=SYSDBA´
      ´WaitOnLocks=True´)
    VendorLib = ´FBCLIENT.DLL´


Espero ter ajudado...
T+


Responder

Gostei + 0

03/05/2004

Aersoftware

Aeeeeeeeee.. valeu vinicus.. brigadao mesmo.. agora funcionou.. vendo esse seu exemplo eu descobri o q estava errado no meu..

Alem do LibraryName estar vazio, o GetDriverFunc, tb estava.. nao sei pq.. eu ja tinha tentando colocar a ´dbexpint.dll´ no LibraryName, mas nao funcionou pq o GetDriverFunc estava vazio.. agora foi q é uma blz.. valeu mesmo.. abraços..



Allan Elias Ramos :D


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar