conexao com o BD

27/02/2006

tengo o Firiberd Instalado versoa 1.5
uso o Windows xp
o firiberd roda como aplicativo(Firibir Guardian Na barra de tarefas)
uso o IB Expert

tudo funcionava bem

Então instalei i delphi 7.0 na minha máquina e consequentemente o Interbase 6.5 , deixei na instalação a opção do IbConsole desativado

mas quando uso o IB Expert para fazer uma conexão com a Base de Dados do Delphi 7.0 (Dempstração ) Não estou conseguindo

Veja

[URL=http://imageshack.us][img:96b41a9df8]http://img142.imageshack.us/img142/2205/imagemconexao11lv.jpg[/img:96b41a9df8][/URL]

quando clico em testar conexão da a seguinte mensagem :

[URL=http://imageshack.us][img:96b41a9df8]http://img142.imageshack.us/img142/2619/imagemconexao24nn.jpg[/img:96b41a9df8][/URL]

Porque disso ???

O Que estou fazendo de erado o deixando se fazer

Obrigado..


Marco Salles

Respostas

27/02/2006

Vinicius2k

Marco,

Resumindo, o que você tem instalado? Firebird 1.5, Interbase 6.5 ou ambos? Você quer conectar a ´quem´ (FB ou IB)?


Responder Citar

27/02/2006

Marco Salles

Marco, 

Resumindo, o que você tem instalado? Firebird 1.5, Interbase 6.5 ou ambos? Você quer conectar a "quem" (FB ou IB)?


istalado eu tenho os dois :

mas rodando so o Firibird 1.5 eu acho

quero conectar com o FB

obrigado..


Responder Citar

27/02/2006

Vinicius2k

Marco,

Quando informar os dados da conexão, informe ´Client library file´ como [b:1cd4193a8d]fbclient.dll[/b:1cd4193a8d]. O problema está ocorrendo porque a [b:1cd4193a8d]gds32.dll[/b:1cd4193a8d] ´criada´ pelo Firebird para compatibilidade, foi substituída pela a IB 6.5.

Se nas suas aplicações você utiliza IBX manipular os dados, então você terá problemas e deverá copiar a [b:1cd4193a8d]fbclient.dll[/b:1cd4193a8d] com o nome [b:1cd4193a8d]gds32.dll[/b:1cd4193a8d], para dentro do ¬system¬ do Windows. Mas fazendo isso, você não mais conseguirá conectar-se ao IB 6.5.


Responder Citar

27/02/2006

Marco Salles

então deixe eu ver se entendo....

o meu firibird trabalha com gds32.dll , porque ela foi criada pra ser compativel com o Interbase

Porem o Interbase 6.5 substitui essa dll por uma nova , que é a fbclient.dll

Porem é sabido que :

´Rodando o IB/FB simultaneamente
Se você precisa rodar o Firebird e o InterBase em um mesmo computador, saiba que isso é possível, mas depende de alguns fatores:

- O Firebird deve ser igual ou superior a versão 1.5
- Os programas que utilizam o Firebird devem utilizar a biblioteca fbclient.dll e não a gds32.dll
- Você deve configurar cada servidor para usar uma porta diferente. No Firebird, isso é feito editando o respectivo parâmetro no arquivo firebird.conf
- Quando fizer a conexão com o banco de dados, deve especificar no string de conexão a porta que está sendo utilizada, por exemplo: servidor/3051:c:\banco\dados.fdb

Caso o programa que esteja usando o Firebird não precise rodar em rede, a solução mais fácil é usar o Firebird Embedded server (servidor embarcado). Temos artigos no site sobre isso.

[b:c502aaff8a]- Você deve configurar cada servidor para usar uma porta diferente. No Firebird, isso é feito editando o respectivo parâmetro no arquivo firebird.conf
- Quando fizer a conexão com o banco de dados, deve especificar no string de conexão a porta que está sendo utilizada, por exemplo: servidor/3051:c:\banco\dados.fdb[/b:c502aaff8a]

eu não entendi como vou fazer estas duas etapas ???? Editar parametro, especificar a porta que esta sendo usada ... Xiiiiiiiiiiiiiiiiiiiiiiiii

Autor: Carlos H. Cantu´

Agora eu pergunto ,,, como fazer passo a passo as etapas abaixo:


Responder Citar

27/02/2006

Vinicius2k

Não... talvez eu não tenha sido claro o suficiente:

1. A [b:22d6555897]gds32.dll[/b:22d6555897] é a cliente do IB.

2. A [b:22d6555897]fbclient.dll[/b:22d6555897] é a cliente do FB.

3. O instalador do FB cria uma gds32.dll (que é uma cópia de sua fbclient.dll) para que as aplicações escritas para IB possam acessar o FB. Se sua aplicação utiliza o IBX ela é ´travada´ para só usar a gds32.dll, por isso se ele for acessar o FB precisa dessa gds32.dll ´clone´ criada pelo instalador do FB.

4. É possível rodar os servidores FB e IB na mesma máquina, bastando estar com serviço configurado para portas diferentes. Aqui não importa versão de gds32.dll ou fbclient.dll. São servidores e independem da DLL cliente (considerando que a máquina só seja servidora).

5. Se uma aplicação escrita em IBX acessa o servidor FB, precisa ter no seu diretório (ou no ¬system¬) a [b:22d6555897]gds32.dll ´clone´[/b:22d6555897].

6. Se uma aplicação escrita em IBX acessa o servidor IB, precisa ter no seu diretório (ou no ¬system¬) a [b:22d6555897]gds32.dll do IB[/b:22d6555897].

7. Duas aplicações escritas em IBX em que uma precisa acessar o FB e outra o IB, podem ´conviver´ na mesma máquina, utilizando em conjunto os ítens 6 e 7, porém, neste caso, não deve haver nenhuma das DLLs no ¬system¬ pois, apesar de terem o mesmo nome, não são iguais. As Cada DLL deve estar no diretório junto ao executável que irá utilizá-la.


Responder Citar

27/02/2006

Marco Salles

Duas aplicações escritas em IBX em que uma precisa acessar o FB e outra o IB,


quanto voce fala em Aplicação , voce quer dizer o Banco né.... Porque minha aplicação é feita em delphi..Eu sinceramente andei ums tempos com o delphi5.0 aonde não tinha o DBExpress e agora esta muitoconfuso para mim

antes de ter instalado o delphi7.0 eu usava o IBExpert e selecionava o Firibir1.5 e abria o Banco de Dados de Exemplo Do Delphi(IbLocal)

Apos ter isntalado o Delphi 7.0 eu não consigo abrir mais a Base de Dados
que vem junto com o delphi , usando O Firibird 1.5 NO IBExpert...

Para embaralhar ainda a minha tao pertubarda cabeça , consigo acessar essas Bases de Dados Selecionando o Interbase 6.5 No IBExpert. . Isto seria muito normal , se não fosse o caso do Gurdião que esta rodando na minha máquina é o [b:850cdce4da]FbServer.exe [/b:850cdce4da]enquanto que o [b:850cdce4da]IbConsole[/b:850cdce4da] do Interbase esta desativado... Que isso :cry: :cry: :cry: :cry: :cry:


Responder Citar

28/02/2006

Vinicius2k

Marco,

IBX é a sigla para ([b:8b9f63ec9a]I[/b:8b9f63ec9a]nter[b:8b9f63ec9a]B[/b:8b9f63ec9a]ase e[b:8b9f63ec9a]X[/b:8b9f63ec9a]press) -- a paleta Interbase do Delphi: IBDataBase, IBDataSet, IBQuery, etc... -- e que, provavelmente, era o que você utilizava no Delphi 5.

A ´confusão´ está ocorrendo porque o IB 6.5 que você instalou, substituiu a gds32.dll (clone da fbclient.dll) criada pelo FB. Situação normal porque a gds32.dll é do IB e o FB só cria ´sua própria´ para que você possa continuar utilizando o IBX.

As aplicações que usam IBX só acessam o banco utilizando a gds32.dll(pois o IBX é feito para IB) então, se a gds32.dll for a do IB e você estiver tentando acessar o FB, você terá erros.

Conselho: desistale o IB que, pelo que entendi, não está lhe servindo de nada. Pegue a fbclient.dll e copie para o ¬system¬ do Windows com o nome de gds32.dll. Tudo voltará ´ao normal´.


Responder Citar

01/03/2006

Marco Salles

vinicus.2k é sempre um prazer ter um tópico sobre esta materia respondido por voce , devido ao vasto conhecimento que tem demostrado ao longo desses anos que eu acompanho o forum

´Conselho: desistale o IB que, pelo que entendi, não está lhe servindo de nada. Pegue a fbclient.dll e copie para o ¬system¬ do Windows com o nome de gds32.dll. Tudo voltará ´ao normal´.´

a sua resposta é plausivel .. Porem isto não se trata de maquina de cliente... Se trata da minha máquina que necessito ter os dois bancos para estudar (exemplos didaticos , metodologia de ensino , etc..)

o que estou estrahando , apos este dois dias que estou pegando na unha este problema é o seguinte:

Vou voltar um pouquinho no tempo

mas quando uso o IB Expert para fazer uma conexão com a Base de Dados do Delphi 7.0 (Dempstração ) Não estou conseguindo


R:para acessar este Banco de demostração do delphi [b:d485a5425a]employee.gdb [/b:d485a5425a], usando o [b:d485a5425a]IBExpert([/b:d485a5425a]não se trata de paleta , se trata do programa amplamente divulgado por voce) , eu não [b:d485a5425a]estava[/b:d485a5425a] conseguindo...
Nen mesmo usando o BDE , apos digitar a senha ele me retorna esse erro:


Deve ser alguma estrutura do Banco em si que esta rompida..

[URL=http://imageshack.us][img:d485a5425a]http://img219.imageshack.us/img219/4817/imagemvinicus2rr.png[/img:d485a5425a][/URL]

A partir dai o meu martirio começou... Não conseguia usando o IBExpert(Programa amplamente divulgado Por voce) refiz uns testes ate que consegui uma conexão com o tb exemplo de bando[b:d485a5425a] MASTSQL.GLB[/b:d485a5425a] do delphi 7.0... So que ainda faltava uma conexao com bancos criados usando o Firebird..

Não consegui de maneira nenhuma .. Dava tudo errado . (Horas e mais horas me consumindo..) Ate que desistalei oo Firibird e o reistalei a Versao 1.5 Versao 3... Tb fiz um novo download do IBExpert
Alem disso , desativei os dois Guardiaos (Tanto Do IB quanto Do FB)

Com isso consegui fazer conexão criar bancos etc...

So que eu ainda estou encabulado.. Eu ate agora pensava que se quissese fazer uma conexão com alguns desses Bancos , o Guardiao tinha que esta Rodando na máquina(Ou como Aplicativo Ou Como Serviço)... [b:d485a5425a]Mas usando O IBExpert , consigo me conectar com esses Bancos sem ter [b]nenhum dos dois [/b:d485a5425a] Guardiões Rodando Na Máquina[/b]... Como É POSSIVEL Isto ????.. Então para que servem esses guardioes que oras e vezes da materia de discusões infidadas aqui no site???


Responder Citar

01/03/2006

Vinicius2k

Marco,
[quote:bba812dc2a=´Marco Salles´]para acessar este Banco de demostração do delphi [b:bba812dc2a]employee.gdb [/b:bba812dc2a], usando o [b:bba812dc2a]IBExpert([/b:bba812dc2a]não se trata de paleta , se trata do programa amplamente divulgado por voce) , eu não [b:bba812dc2a]estava[/b:bba812dc2a] conseguindo...
...Deve ser alguma estrutura do Banco em si que esta rompida..[/quote:bba812dc2a]
Sobre a conexão, eu lhe expliquei no meu segundo Post. Com os dois (IB e FB) instalados, você precisa alterar o nome da ´Client library´ no momento de criar a conexão com o banco no IBExpert. Não pode usar gds32.dll se for acessar o servidor FB e não pode usar fbclient.dll se for acessar o servidor IB.
Sobre o erro de ODS (On-Disk structure) é totalmente normal justamente por você estar tentando acessar um banco do FB através do servidor IB ou vice-versa. Você terá que ter isto bem definido:

1. Banco criado no IB:
Serviço rodando: IBServer ou IBGuardian
Biblioteca cliente: gds32.dll

2. Banco criado no FB
Serviço rodando: FBServer ou FBGuardian
Biblioteca cliente: fbclient.dll




[quote:bba812dc2a=´Marco Salles´]Ate que desistalei oo Firibird e o reistalei a Versao 1.5 Versao 3... Tb fiz um novo download do IBExpert
Alem disso , desativei os dois Guardiaos (Tanto Do IB quanto Do FB)

Com isso consegui fazer conexão criar bancos etc... [/quote:bba812dc2a]
Conectar e criar bancos em qual dos dois IB ou FB?
Se for no FB, também é normal após a reinstalação porque se você selecionou o modo de compatibilidade no instalador, ele substituiu a gds32.dll originalmente do IB pela ´clone´ do FB novamente.

[quote:bba812dc2a=´Marco Salles´]Eu ate agora pensava que se quissese fazer uma conexão com alguns desses Bancos , o Guardiao tinha que esta Rodando na máquina(Ou como Aplicativo Ou Como Serviço)... [b:bba812dc2a]Mas usando O IBExpert , consigo me conectar com esses Bancos sem ter [b]nenhum dos dois [/b:bba812dc2a] Guardiões Rodando Na Máquina[/b]... Como É POSSIVEL Isto ????.. Então para que servem esses guardioes que oras e vezes da materia de discusões infidadas aqui no site???[/quote:bba812dc2a]
Não é possível acessar sem o serviço rodando. Você pode ter desativado os guardians, porém o ´servers´ continuaram ativos.
O guardian é responsável por iniciar o serviço e monitorá-lo. Mas o serviço pode ser iniciado sozinho, sem guardian (IBServer.exe ou FBServer.exe).


Responder Citar

01/03/2006

Marco Salles

Belza Vinicius , voce é um verdadeiro ´Aurelio´ ambulante .. Estou quase dando os primeiros passos

Sobre o erro de ODS (On-Disk structure) é totalmente normal justamente por você estar tentando acessar um banco do FB através do servidor IB ou vice-versa. Você terá que ter isto bem definido:


nesse caso , conferi no CNTR + ALT + DEL que o serviço que esta rodando é o [b:9851d30983]ibservices.exe [/b:9851d30983]e o [b:9851d30983]ibGuard.exe [/b:9851d30983]que acredito ser do IB... Mas deveria funcionar pois este [b:9851d30983]Banco Employee [/b:9851d30983]é um Banco de exemplo do Delphi e foi Criado em IB.. Poratndo ainda estou sem enntender isso

Sobre a conexão, eu lhe expliquei no meu segundo Post. Com os dois (IB e FB) instalados, você precisa alterar o nome da ´Client library´ no momento de criar a conexão com o banco no IBExpert.



:arrow:
Alterei o nome do ´Client library´ para fbclient.dll conforme sugerido

Coloquei tb o [b:9851d30983]Fbguardiane o fbserver.exe rodando[/b:9851d30983].. Porem quando tento criar a conexão da esse erro :

[URL=http://imageshack.us][img:9851d30983]http://img72.imageshack.us/img72/8030/imagemvinicus29pm.png[/img:9851d30983][/URL]

[b:9851d30983]Voltei no CNTR + ALT + TAB retirei o FbGuardian.exe e fbservices e coloquei o ibGuardian e o ibservices... Agora consegui conectar com a Base De Dados...[/b:9851d30983] :?: :?: :?: :?:

Pergunta1::
Sera que esta base de dados é mesmo do Firebird :?: :?: :?: .. [color=darkred:9851d30983]Na hora da criação desta Base de Dados[/color:9851d30983] coloquei como opçao o Firibird 1.5,porem deixei a dll padrao gds32.dll e não lembro qual era o servico e nen o guardiao que estava rodando naquele momento na máquina... [color=darkred:9851d30983]Sei que na hora de escolher o Banco escoli o Firebird e conectou normalmente[/color:9851d30983]
so mais um detalhe , voce diz que tem que altera com esta escrito no paragrafo anterior :


[
b]você precisa alterar o nome da ´Client library´ no momento de criar a conexão com o banco no IBExpert[/b]


:arrow:
mas voce tb diz no paragrafo seguinte ; :cry: :cry: :cry:

[b:9851d30983]após a reinstalação porque se você selecionou o modo de compatibilidade no instalador, ele substituiu a gds32.dll originalmente do IB pela ´clone´ do FB novamente. [/b:9851d30983]



Não esta contraditorios :?: :?: :?:


[b:9851d30983]Sobre a instalação do Firebird[/b:9851d30983] eu deixei tudo com defalt , a unica preocupação que tive foi[b:9851d30983] não [/b:9851d30983]colocar o ibservices iniciando automaticamente como windows e [b:9851d30983]desabilitando o ibguardiao[/b:9851d30983].. Conclusão:se é defalt dele o modo de compatibilidade então esta no modo de compatibilidade se não for então não esta


Responder Citar