conexao com o BD
27/02/2006
0
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
Posts
27/02/2006
Vinicius2k
Resumindo, o que você tem instalado? Firebird 1.5, Interbase 6.5 ou ambos? Você quer conectar a ´quem´ (FB ou IB)?
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..
27/02/2006
Vinicius2k
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.
27/02/2006
Marco Salles
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:
27/02/2006
Vinicius2k
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.
27/02/2006
Marco Salles
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:
28/02/2006
Vinicius2k
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´.
01/03/2006
Marco Salles
´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
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???
01/03/2006
Vinicius2k
[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).
01/03/2006
Marco Salles
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
: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 :
[
:arrow:
mas voce tb diz no paragrafo seguinte ; :cry: :cry: :cry:
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
Clique aqui para fazer login e interagir na Comunidade :)