De novo : Interbase em rede

Delphi

11/04/2005

Por favor amigos, segue o seguinte problema:
Uso uma rede WIndows 98 IB 6.5 , usando D6 e a maquina servidora da rede é a mesma que faço os programas em D7, o problema é quando vou disponibilizar para as maquinas Cliente (W98),
- Ja instalei o Client/IB nas maquinas
- Ja configurei o Hosts e Services dos Windows
-A rede funciona perfeitamente... quanto a esses fatores nao há problema,

No IBDatabase Cliente , faço o seguinte :
- SERVER NAME : NOME DE IDENTIFICAÇÃO DO SERVIDOR
- NETWORK PROTOCOL : TCP/IP , JA´USEI NETBEUI
- ALIAS NAME : JÁ USEI ALGUMAS OPÇÕES :
\\Servidor\c:\DADOS\Banco.gdb
Servidor:c:\DADOS\Banco.gdb
c:\DADOS\Banco.gdb
e outras variações...
e aparecem as mensagens de erro:

Attempting to attach to servidor using NETBEUI .
An error occured attempting to connect t oservidor using the following named pipe \\servidor\pipe\interbase\serve\gds_dg
failed t oestablish a connection unknown win 32 erro 10061


no attach password database ( quando uso NamedPipe)
Erro Win32 1006 ... (demora para dar o erro e quando dá , aparace essa msg) ( quando uso TCP/IP)

Existem outras maneiras, mais fáceis de se fazer isso?
Como fazer Por exemplo um unico executavel, puxar de um arquivo INI, por exemplo resolve, como?

Detalhe : no local o programa acessa o INTERBASE perfeitamente :
Estou com este problema à quinze dias .


Desde já muito obrigado a todos.


Demostenesjr

Demostenesjr

Curtidas 0

Respostas

Ariovaldo

Ariovaldo

11/04/2005

Nas estações Client (Win98) como vc informa onde esta o Banco de dados?


GOSTEI 0
Reginaldo174

Reginaldo174

11/04/2005

Quais componente utiliza para conectar ao BD ??


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Instalei o cliente nas estaqções , e vou na opção register a new interbase server , e clico em remote server , digito o nome do servidor em server name , tcp/ip em network protocol , um alias name ( dúvida nesta parte , mas já digitei , várias coisas) , texto livre em description.


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

uso o ib database , no local funciona perfeitamente .


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Pergunto à vcs : ´Será que se na propriedade IBDATABASE , eu movesse, na estação, o caminho do servidor funcionaria , ou seja, fosse um string variável ´


GOSTEI 0
Ariovaldo

Ariovaldo

11/04/2005

Se você instalar por exemplo o IBConsole em uma estação voCê consegue registrar o Banco que esta no Servidor e dár um select por exemplo??

Quando você tem um banco no servidor e tenta acessar via rede TCP/IP a sintaxe do caminho do Banco é:

Nome_do_Servidor ou IP do Servido +
: (Dois POntos) +
Letra_do_Drive_do_Servidor (Não é o Mapeamento que vc vizualiza na estação) +
: (Dois POntos) +
Caminho completo do Banco de dados

Exemplo:

192.168.0.100:d:\Dados\dados.gdb


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Eu já digitei em :

ALIAS NAME (ibconsole) : JÁ USEI ALGUMAS OPÇÕES :
\\Servidor\c:\DADOS\Banco.gdb
Servidor:c:\DADOS\Banco.gdb
c:\DADOS\Banco.gdb

Será que me enganei


GOSTEI 0
Ariovaldo

Ariovaldo

11/04/2005

Que tipo de conexão vc usou na sua aplicação?

Você usa BDE??

Na Estação onde vc informa para o executável onde esta o Banco para ele se conectar??


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Uso bde , tb , pois tenho paradox .


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Existem duas bases : BDE e INterbase . O bde está funcionando perfeitamente , inclusive nas estações . O Interbase funciona bem local , mas não consigo configurar na estação .


GOSTEI 0
Ariovaldo

Ariovaldo

11/04/2005

Beleza, na aplicação que funciona com Interbase quais foram os componentes de acesso que vc usou na sua aplicação para acessar o Banco?


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

uso o ib database , no local funciona perfeitamente .

c:\dados\Autovila.gdb .


Pergunta : Se eu usasse o caminho do servidor na estação , funcionaria , ou seja , um campo variável , faço isso com a bde .

uso o ibtransaction


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

ou seja : databasename := Variavel


GOSTEI 0
Gandalf.nho

Gandalf.nho

11/04/2005

Se vc usa IBX para trabalhar com o IB, experimente usar o componente IBDatabaseINI que permite obter dinamicamente os parâmetros de conexão através de um arquivo INI


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Encontro na palheta Interbase


GOSTEI 0
Ariovaldo

Ariovaldo

11/04/2005

Se vc esta usando o IBDataBase da Palheta Interbase do Delphi na propriedade DataBaseName vc tem que deixar em branco e informar isso atraves de um arquivo INI por exemplo, segue um exemplo de como eu faço isso:

[b:c312239c09]Dados do meu Arquivo ini que fica no diretório do Executável[/b:c312239c09]

[SISTEMA]
Path Banco=C:\Dados\MEUBANCO.gdb

[b:c312239c09]como faço a leitura do arquivo INI[/b:c312239c09]

Crio uma variavel publica PathBanco pois no create do Datamodule vou passar ela para o Babco se conectar

procedure TFormPrincipal.FormCreate(Sender: TObject);
Var
Data : TdateTime;
ArqIni: tIniFile;
Begin
ArqIni := TIniFile.Create(extractFilePath(ParamStr(0)) + ´Corpore.ini´);
try
PathBanco := ArqINI.ReadString(´CORPORE´,´Path Banco´,´´);
Finally
ArqINI.Free;
end;
End



[b:c312239c09]Conexão com o Banco de dados[/b:c312239c09]

procedure TDTConexao.DataModuleCreate(Sender: TObject);
begin
ConexaoBD.Connected := False;
Try
ConexaoBD.DataBaseName := FormPrincipal.PathBanco;
ConexaoBD.Connected := True;
TransacaoBD.Active := True;
except
On E : EDataBaseError do begin
if Pos(´UNAVAILABLE DATABASE´,UpperCase(E.Message)) <> 0 then begin
ShowMessage( ´O Servidor InterBase não foi iniciado !!!´);
Application.Terminate;
end
else if Pos(´DATABASE NAME IS MISSING´,UpperCase(E.Message)) <> 0 then begin
ShowMessage( ´Banco de Dados não informado !!!´);
Application.Terminate;
end
else begin
ShowMessage( ´O Banco de Dados não foi localizado !!!´);
Application.Terminate;
end;
end;
End;

end;

Espero que te ajude


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Onde acho ? Palheta interbase ( delphi 6 )


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

E aí eu pergunto e se eu movesse dentro do programa , na estação eu leria de um arquivo paradox , já que estou usando


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

E aí eu pergunto e se eu movesse dentro do programa , na estação eu leria de um arquivo paradox , já que estou usando


GOSTEI 0
Ariovaldo

Ariovaldo

11/04/2005

estranho desde o Delphi 5 existe a Palheta Interbase!!


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

´ Onde acho ? Palheta interbase ( delphi 6 ) ´

Desculpe , pensei que o ini que vc se referia , era algum dentro da palheta .


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Ariovaldo ,


Parece show de bola , contudo eu pergunto : o Interbase Client precisa estar instalado e sem erro , pois não consigo fazer o teste do banco pelo client , e desde ja´agradeço a sua atenção .


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

No caso da estação seria :
sistema
Path Banco=Servidor:C:\Dados\MEUBANCO.gdb

Obrigado


GOSTEI 0
Silviogs

Silviogs

11/04/2005

Olá

já desenvolvi sistemas com Interbase com acesso direto sem BDE utilizando um arquivo INI para fazer a conexão do Banco, usando o TCP/IP da rede. Já postei aqui como fazer isto.

http://forum.devmedia.com.br/viewtopic.php?t=58753&highlight=paradox&sid=7c0b9674e98d151280014052d9875244



Atenciosamente

Silvio Guedes


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Pergunta :


1) Mesmo que eu tivesse problemas de concção com o programa ao Interbase , na hora de usar o Ibconsole , não deveria ter problemas na hora de usar o IBconsole - certo ?


GOSTEI 0
Demostenesjr

Demostenesjr

11/04/2005

Fiz tudo que foi solicitado , contudo continua dando erro 10061

alguma :idea:

Mias de três semanas com problema


GOSTEI 0
POSTAR