unavaliable database (erro ao conectar!!)
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]
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
Curtidas 0
Respostas
Buosinet
05/03/2004
Qual o banco de dados e quais os componentes utilizados para a conexão?
GOSTEI 0
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;
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
05/03/2004
Colega,
pode parecer básico, mas... o ibserver está rodando?
T+
pode parecer básico, mas... o ibserver está rodando?
T+
GOSTEI 0
Mahdak
05/03/2004
sim o interbase guardian/server fica configurado para rodar ao iniciar do windows...
:cry:
:cry:
GOSTEI 0
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+
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
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!
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
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+
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
05/03/2004
sobe
:shock:
:shock:
GOSTEI 0
Mahdak
05/03/2004
sobe
porque ainda nao consegui :oops:
porque ainda nao consegui :oops:
GOSTEI 0