unavaliable database (erro ao conectar!!)

Delphi

05/03/2004

Alguem poderia me dizer o que quer dizer ´unavaliable database´...
esse erro esta acontecendo quando tento conectar o meu projeto com o banco de dados, a partir dos componentes...
[img]http://C:\Meus documentos[/erro.bmp]


Mahdak

Mahdak

Curtidas 0

Respostas

Buosinet

Buosinet

05/03/2004

Qual o banco de dados e quais os componentes utilizados para a conexão?


GOSTEI 0
Mahdak

Mahdak

05/03/2004

fiz tudo como esta ai embaixo, mas quando chegou no tópico ´Dataset Editor...´ deu esse erro ´Unavaliable DataBase´...
Nao consegui nem conectar os componentes pelo Object_Inspector
Valleu!



Banco : interbase 6.0
Componentes:
1 IBDatabase (DefaultTransaction = IBTransaction1, LoginPrompt = False)
1 IBTransaction (DefaultDatabase=IBDatabase1)
1 IBDataSet (Database=IBDatabase1, Transaction = IBTransaction1)
1 DataSource (DataSet = IBDataSet1)
1 dbGrid (Align=alClient, DataSource=DataSource1)

dê um duplo-clique no IBDAtabase e configure::

database = caminho do banco criado anteriormente

clique na opção REMOTE e configure tb:

server = localhost
protocol = tcp
username = sysdba (ou outro usuário)
password = masterkey (a senha do seu usuário)
character set = o character set q vc criou o banco

clique OK

configure ainda no seu IBDatabase a propriedade AllowStreemedConnected = FALSE


agora, dê um duplo-clique no IBTransaction e selecione a opção READ COMMITED, clique OK

vamos configurar então o IBDataSet

na propriedade SelectSQL coloque seu select, ex::

SELECT * FROM TESTE1
WHERE NOME STARTING WITH :par1

agora, clique com o botão direito do mouse no IBDataSet1 e selecione no menu ´Dataset Editor...´

no editor do IBDataSet, na lista a esquerda (key fields) selecione apenas o campo CODIGO, na lista da direita, selecione todos os campos.

clique no botão GENERATE SQL -- nesse momento, observe os SQLs gerados, eles são um bom exemplo de como devem ser! E vc pode notar (e controlar) tudo q vai ocorrer em cada operação.

Clique OK para fechar o assistente.

Agora, dê um duplo-clique no IBDataSet e adicione o campos persistentes (botão direito e selecione o menu ´Add all fields)

bom, coloque agora no PANEL1 um Botão e um Edit.

limpe a propriedade Text do Edit e...
...no botão coloque o caption = ´pesquisar´ e o código no OnClick::
Código:
IBDataSet1.Close; IBDataSet1.Params[0].AsString := Edit1.Text; IBDataSet1.Open;


e no evento onCreate do seu Form coloque::
Código:
try IBDatabase1.Connected := True; except ShowMessage(´não foi possível realizar a conexão com o BD´); end;


e no OnClose ou OnDestroy do form coloque::
Código:
try if IBTransaction1.InTransaction then IBTransaction1.Commit; IBDatabase1.Connected := False; except ShowMessage(´erro de comunicação com o BD´); end;


GOSTEI 0
Vinicius2k

Vinicius2k

05/03/2004

Colega,
pode parecer básico, mas... o ibserver está rodando?

T+


GOSTEI 0
Mahdak

Mahdak

05/03/2004

sim o interbase guardian/server fica configurado para rodar ao iniciar do windows...
:cry:


GOSTEI 0
Vinicius2k

Vinicius2k

05/03/2004

Colega,

Como vc usa internet, com certeza o protocolo TCP/IP está instalado... mas pode ser q vc esteja com este problema numa outra máquina... quem sabe...
1 - Esta tbm é básica, mas... o banco de dados que vc está tentando acessar existe?
2 - Vc tem firewall na máquina?
3 - Como vc está configurando o nome do seu database no IBDatabase?

T+


GOSTEI 0
Mahdak

Mahdak

05/03/2004

Colega,

Como vc usa internet, com certeza o protocolo TCP/IP está instalado... mas pode ser q vc esteja com este problema numa outra máquina... quem sabe...

R: OProblema é no Servidor

1 - Esta tbm é básica, mas... o banco de dados que vc está tentando acessar existe?

R: Sim, ele existe e está registrado no IBConsole

2 - Vc tem firewall na máquina?

R: Ja Ouvi fala muito, mas nem sei o que é isso (Desculpe a minha ignorancia)

3 - Como vc está configurando o nome do seu database no IBDatabase?

R: C:\Arquivos de programas\Ceja\Agenda\DB\Contatos.gdb

[]´s
Flw!


GOSTEI 0
Vinicius2k

Vinicius2k

05/03/2004

Colega,

Firewall é um sóftware cuja a função é bloquear conexões não autorizadas à sua máquina em vários protocolos, inclusive o TCP/IP, a não ser que vc configure-o para que aceite a conexão...

Este erro está muito estranho, pois só ocorre quando o ibserver não está rodando ou quando a rede não está OK. vamos tentar isolar o problema :.

vá no prompt do MS-DOS e digite : ping localhost <enter> veja se vc tem resposta...
tente substituir o ´server´ do IBDatabase por 127.0.0.1

T+


GOSTEI 0
Mahdak

Mahdak

05/03/2004

sobe
:shock:


GOSTEI 0
Mahdak

Mahdak

05/03/2004

sobe

porque ainda nao consegui :oops:


GOSTEI 0
POSTAR