Fórum Executável sem Delphi (dbexpress) não funciona... #198072
30/11/2003
0
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
Curtir tópico
+ 0Posts
01/12/2003
Acid_rain
Gostei + 0
01/12/2003
Dodacs
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???
Gostei + 0
01/12/2003
Dodacs
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?
Gostei + 0
02/12/2003
Dodacs
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..
Gostei + 0
04/12/2003
Dodacs
Gostei + 0
25/01/2006
Lindomar.des
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
Gostei + 0
26/01/2006
Mdm
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
Gostei + 0
26/01/2006
Aasn
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
Gostei + 0
26/01/2006
Emerson Nascimento
[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]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)