Firebird.... questão de endereço.
Bom dia a todos.
tenho o seguinte problema:
\\192.168.2.100\c:\Firebird\RIPER-FINANCEIRO\Riper Financeiro\DBs\Banco.fdb
este endereço funciona no firebird mas o windows não reconhece:
=\\192.168.2.100\c\Firebird\RIPER-FINANCEIRO\Riper Financeiro\DBs\banco.fdb
este endreço funciona no windows mas o firebird não.
-diferença dois pontos depois do driver C.
guardo o endereço no arquivo ini, na hora de checar se o endereço é valido, se tiver doi pontos o API do windos diz que não existe mas o firebird funciona, sem os dois pontos , o API windows diz que o arquivo existe mas o firebird não funciona.
Firebird 1.5 ou firebird 2.5(testei os dois) , Windos XP, Delphi 7.
Como posso Resolver Isto?
Obrigado se alguém puder me ajudar.
tenho o seguinte problema:
\\192.168.2.100\c:\Firebird\RIPER-FINANCEIRO\Riper Financeiro\DBs\Banco.fdb
este endereço funciona no firebird mas o windows não reconhece:
=\\192.168.2.100\c\Firebird\RIPER-FINANCEIRO\Riper Financeiro\DBs\banco.fdb
este endreço funciona no windows mas o firebird não.
-diferença dois pontos depois do driver C.
guardo o endereço no arquivo ini, na hora de checar se o endereço é valido, se tiver doi pontos o API do windos diz que não existe mas o firebird funciona, sem os dois pontos , o API windows diz que o arquivo existe mas o firebird não funciona.
Firebird 1.5 ou firebird 2.5(testei os dois) , Windos XP, Delphi 7.
Como posso Resolver Isto?
Obrigado se alguém puder me ajudar.
Rivaldo Rosendo
Curtidas 0
Respostas
William
17/07/2012
Colega qual engine(ZEOS ou DBEXPRESS) de acesso vc tá usando?
Uso arquivos.ini para configurar conexões com ZEOS ou DBExpress, então poder ser preciso só pequenos ajustes.
Uso arquivos.ini para configurar conexões com ZEOS ou DBExpress, então poder ser preciso só pequenos ajustes.
GOSTEI 0
Deivison Melo
17/07/2012
Eu gravo as informações no arquivo *.ini utilizando um procedure:
********************************************************************************
//Procedure para gravar arquivo ini usado no login
procedure GravaIni(Arquivo, Sessao, Subsessao, valor: string);
var
ArqIni: TIniFile;
begin
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
ArqIni.WriteString(Sessao, Subsessao, valor);
finally
FreeAndNil(ArqIni);
end;
end;
********************************************************************************
Depois faço a leitura das informações com uma função:
//Funcao para ler arquivo ini usado no login
function LerIni(Arquivo, Sessao, Subsessao: string): string;
var
ArqIni: TIniFile;
sDirAplicacao: string;
begin
sDirAplicacao := ExtractFilePath(ParamStr(0));
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
Result := ArqIni.ReadString(Sessao, Subsessao, );
finally
FreeAndNil(ArqIni);
end;
end;
********************************************************************************
Então quando já tiver criado as rotinas de manipulação do *.ini
No meu caso eu utilizei o datamodule, então no evento OnCreate:
procedure TDM.DataModuleCreate(Sender: TObject);
begin
if not FileExists(cell.ini) then
ChamaForm(TfrmConfiguracao, frmConfiguracao)
else
begin
try
with ConexaoDB do
begin
Connected := False;
connectionname := NORCATEL;
drivername := interbase;
getdriverfunc := getSQLDriverINTERBASE;
libraryname := dbexpint.dll;
params.clear;
params.add(drivername=interbase);
params.add(database= + LerInI(cell.ini, DB, caminho));
params.add(rolename=rolename);
params.add(user_name= + LerInI(cell.ini, DB, usuario));
params.add(password= + LerInI(cell.ini, DB, senha));
params.add(servercharset=);
params.add(sqldialect=3);
params.add(blobsize=-1);
params.add(commitretain=false);
params.add(waitonlocks=true);
params.add(errorresourcefile=);
params.add(localecode=0000);
params.add(interbase transisolation=readcommited);
params.add(trim char=false);
vendorlib := gds32.dll;
Connected := true;
end;
except
raise Exception.Create(Verifique se as configurações do arquivo cell.ini estão corretas!);
end;
end;
end;
********************************************************************************
Imagino que isso solucionará o seu problema...
PS. Utilizei os componentes de acesso da paleta DBExpress
********************************************************************************
//Procedure para gravar arquivo ini usado no login
procedure GravaIni(Arquivo, Sessao, Subsessao, valor: string);
var
ArqIni: TIniFile;
begin
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
ArqIni.WriteString(Sessao, Subsessao, valor);
finally
FreeAndNil(ArqIni);
end;
end;
********************************************************************************
Depois faço a leitura das informações com uma função:
//Funcao para ler arquivo ini usado no login
function LerIni(Arquivo, Sessao, Subsessao: string): string;
var
ArqIni: TIniFile;
sDirAplicacao: string;
begin
sDirAplicacao := ExtractFilePath(ParamStr(0));
ArqIni := TIniFile.Create(ExtractFilePath(ParamStr(0)) + Arquivo);
try
Result := ArqIni.ReadString(Sessao, Subsessao, );
finally
FreeAndNil(ArqIni);
end;
end;
********************************************************************************
Então quando já tiver criado as rotinas de manipulação do *.ini
No meu caso eu utilizei o datamodule, então no evento OnCreate:
procedure TDM.DataModuleCreate(Sender: TObject);
begin
if not FileExists(cell.ini) then
ChamaForm(TfrmConfiguracao, frmConfiguracao)
else
begin
try
with ConexaoDB do
begin
Connected := False;
connectionname := NORCATEL;
drivername := interbase;
getdriverfunc := getSQLDriverINTERBASE;
libraryname := dbexpint.dll;
params.clear;
params.add(drivername=interbase);
params.add(database= + LerInI(cell.ini, DB, caminho));
params.add(rolename=rolename);
params.add(user_name= + LerInI(cell.ini, DB, usuario));
params.add(password= + LerInI(cell.ini, DB, senha));
params.add(servercharset=);
params.add(sqldialect=3);
params.add(blobsize=-1);
params.add(commitretain=false);
params.add(waitonlocks=true);
params.add(errorresourcefile=);
params.add(localecode=0000);
params.add(interbase transisolation=readcommited);
params.add(trim char=false);
vendorlib := gds32.dll;
Connected := true;
end;
except
raise Exception.Create(Verifique se as configurações do arquivo cell.ini estão corretas!);
end;
end;
end;
********************************************************************************
Imagino que isso solucionará o seu problema...
PS. Utilizei os componentes de acesso da paleta DBExpress
GOSTEI 0
Deivison Melo
17/07/2012
Caso isso não tenha ajudado mencionar para que possa te passar a solução real para o seu problema.
GOSTEI 0
Rivaldo Rosendo
17/07/2012
Bom dia
wllfl..... uso o IBdatabase.... qual o melhor?
Deivison .. tambem guardo em .ini o problema é que na minha maquina funciona... tenho problema é na rede!
quando uso o endereço guradado em ini e fon local não tenho problema com os dois pontos, mas se for rede ai sim os dois pontos fazem a diferenca.
o probblema continua!
wllfl..... uso o IBdatabase.... qual o melhor?
Deivison .. tambem guardo em .ini o problema é que na minha maquina funciona... tenho problema é na rede!
quando uso o endereço guradado em ini e fon local não tenho problema com os dois pontos, mas se for rede ai sim os dois pontos fazem a diferenca.
o probblema continua!
GOSTEI 0
Cleber Campos.
17/07/2012
bom dia
1-veja se o firewall do windows está ativado.
2-no meu, funciona assim
192.168.0.230:c:\pasta\banco.fdb (nao comeco com \\ antes do ip)
poste o resultado.
valeu.
Cleber
1-veja se o firewall do windows está ativado.
2-no meu, funciona assim
192.168.0.230:c:\pasta\banco.fdb (nao comeco com \\ antes do ip)
poste o resultado.
valeu.
Cleber
GOSTEI 0
Rivaldo Rosendo
17/07/2012
blz CLEBER SILVA CAMPOS
vou tentar... não tinha pensado nisto, é porque quando pego o endereço do banco já vem com \\.
vou tentar... não tinha pensado nisto, é porque quando pego o endereço do banco já vem com \\.
GOSTEI 0
Rivaldo Rosendo
17/07/2012
Cleber não adiantou tirar \\
mas resovi fazendo uma funçao para retirar os sois pontos, ficou bem agora..
obrigado a todos.
mas resovi fazendo uma funçao para retirar os sois pontos, ficou bem agora..
obrigado a todos.
GOSTEI 0