Fórum Executável sem Delphi (dbexpress) não funciona... #198072

30/11/2003

0

Estou fazendo um aplicativo q acessa o Firebird via dbexpress...
Ao colocar em uma máquina q não tenha o Delphi instalado ele não funciona...
Obs.: O firebird está funcionando perfeitamente!

Eu coloquei os seguintes arquivos no c:\windows\system:
midas.dll, gds32.dll, fbclient.dll, dbexpint.dll
E coloquei o dbxconnections.ini na pasta da aplicação...

O componente está com a propriedade LoadParamsOnConnect = True
Na aplicação no evento OnCreat eu coloquei:
SQLConnection1.Params.LoadFromFile(ExtractFilePath(Application.ExeName) + ´dbxconnections.ini´);
SQLConnection1.Open;

Alguem sabe porque não está funcionando??


Dodacs

Dodacs

Responder

Posts

01/12/2003

Acid_rain

Vc setou a propriedade ConnectionName?


Responder

Gostei + 0

01/12/2003

Dodacs

sim.. Para FASTREST

o meu dbxconnection.ini está da seguinte forma...

[FASTREST]
DriverName=Interbase
Database=C:\Net\Projeto\Sistema\BANCO\FASTREST.FDB
RoleName=RoleName
User_Name=sysdba
Password=masterkey
ServerCharSet=
SQLDialect=3
BlobSize=-1
CommitRetain=False
WaitOnLocks=True
ErrorResourceFile=
LocaleCode=0000
Interbase TransIsolation=ReadCommited
Trim Char=False

com o dbxconnection.ini no diretório da aplicação, é necessário colocar o SQLConnection1.Params.LoadFromFile??

Se sim. Qual o melhor evento???


Responder

Gostei + 0

01/12/2003

Dodacs

Gente eu coloquei a seguinte linha no on create para testar se tá carregando os parâmentros...

SQLConnection1.Params.LoadFromFile(ExtractFilePath(Application.ExeName) + ´dbxconnections.ini´);
if SQLConnection1.ParamsLoaded then
showmessage(´BD OK´);
SQLConnection1.Open;

E o showmessage não aparece... Pq não está carregando os parâmetros?


Responder

Gostei + 0

02/12/2003

Dodacs

Eu fiz um teste aqui na minha máquina q tem o delphi instalado... Renomeie o dbxconnection.ini que está no diretorio C:\Arquivos de programas\Arquivos comuns\Borland Shared\DBExpress
Assim o programa sendo executado fora do delphi (com o delphi fechado) não consegue achar o banco de dados... quando eu coloco o nome dele no lugar o programa funciona numa boa!
Eu acho que o erro que está acontecendo no meu sistema é saber especificar onde está o dbxconnection.ini

Alguem que já fez um programa que acessa banco de dados (dbexpress) funcionar em uma máquina que não tenha delphi... me passe qual o procedimento usado... Tenho q apresentar esse projeto dia 15...

Um abraço..


Responder

Gostei + 0

04/12/2003

Dodacs

sobe


Responder

Gostei + 0

25/01/2006

Lindomar.des

Dodacs,

Uso o seguinte codigo com dbexpress:

  ifArqIni := TIniFile.Create(ExtractFilePath(Application.ExeName) +
    ´Config.ini´);
  FecharBanco; 
  dmDBEXMaster.sqcMaster.Params.Clear;
  dmDBEXMaster.sqcMaster.Params.Values[´DRIVERNAME´] := ´Interbase´;
  dmDBEXMaster.sqcMaster.Params.Values[´DATABASE´] :=
    UpperCase(ifArqIni.ReadString(´Servidor´, ´TCPIP´, ´LocalHost´)) + ´:´ +
    UpperCase(ifArqIni.ReadString(´Servidor´, ´Path´, ´C:\´));
  dmDBEXMaster.sqcMaster.LoginPrompt := False;
  dmDBEXMaster.sqcMaster.Params.Values[´USER_NAME´] := ´ SYSDBA´
  dmDBEXMaster.sqcMaster.Params.Values[´PASSWORD´] := ´masterkey´;
  dmDBEXMaster.sqcMaster.Params.Values[´SQLDIALECT´] := ´3´;
  dmDBEXMaster.sqcMaster.Open;


//uso isso pois as vezes esqueço de fechar a conexão antes de compilar
//então o sistema fica com path do banco fixo.
procedure FecharBanco;
begin
  if dmDBEXMaster.sqcMaster.Connected then
  begin
    dmDBEXMaster.sqcMaster.CloseDataSets;
    dmDBEXMaster.sqcMaster.Close;
  end;
end;


//arquivo config.ini
[Servidor]
TCPIP=LocalHost
Path=C:\APLICATIVOS\GenesisAT\Bd\GENESIS.GDB


Responder

Gostei + 0

26/01/2006

Mdm

Ola Colega, sei q não é a solução mas vou relatar o que passei pois esta relacionado ao seu problema, e espero que algum colega nos esclareça.
Estava com o mesmo prroblema que vc, tudo configurado tudo certo, mas não conectava no banco, exeto quando eu compilava minha applicação sem o banco apontado no sqlConnection, ow seja eu removia a configuração com o caminho do banco, desta forma funcionou.
Estranho né ?

[]s


Responder

Gostei + 0

26/01/2006

Aasn

Caros colegas,

O que pode estar acontecendo é que a conexão com o banco já está aberta em tempo de projeto, e ao executar o sistema fora do delphi, ele não redireciona para o novo caminho. Tentem ao executar a aplicação, enviar um comendo para desconectar, em seguida informar o caminho do banco e conectar novamente.

[]´s
AASN


Responder

Gostei + 0

26/01/2006

Emerson Nascimento

duas coisas:

[b:6a7a0d50a6][color=blue:6a7a0d50a6]1.o[/color:6a7a0d50a6][/b:6a7a0d50a6]: [b:6a7a0d50a6]antes de compilar o projeto SEMPRE desconecte o banco[/b:6a7a0d50a6]. NUNCA compile o projeto com o banco conectado

[b:6a7a0d50a6][color=blue:6a7a0d50a6]2.o[/color:6a7a0d50a6][/b:6a7a0d50a6]: não me recordo se o ExtractFilePath() retorna a última barra.
se não retornar, supondo que seu executável esteja na pasta C:\Sistema\Bin, o arquivo que ele está procurando é:
[i:6a7a0d50a6]C:\Sistema\Bindbxconnections.ini[/i:6a7a0d50a6] (que não existe).
então, altere a string para:
SQLConnection1.Params.LoadFromFile(ExtractFilePath(Application.ExeName) + ´[b:6a7a0d50a6]\[/b:6a7a0d50a6]dbxconnections.ini´);
assim, o retorno será:
[i:6a7a0d50a6]C:\Sistema\Bin\dbxconnections.ini[/i:6a7a0d50a6]


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar