Erro em exucutar programa em delphi em outra maquina

Delphi

29/09/2012

Ola amigos é a minha primeira pergunta sobre delphi, to com um erro que nao consigo solucionar ai vai,
Quando eu executo meu programa F9 ele roda normal, ai eu pego a pasta que estao os executaveis e todo programa, passa para outra,
maquina que nao seja a minha da erro.
a fonte do erro é essa parte no codigo
DBXConn:=TDBXConnectionFactory.GetConnectionFactory.GetConnection('PDV2','SYSDBA','masterkey');
DBXCmd:= DBXConn.CreateCommand;
DBXCmd.Text:='SELECT * FROM CLIENTESBETO WHERE ID_CLIENTEBETO =' + QuotedStr(codigo);
DBXReader:= DBXCmd.ExecuteQuery;

if DBXReader.Next then
begin
...
end
.......Nao vou postar todo o codigo por so nessa parte que nao passa

O codigo ta perfeito na minha maquina, mais eu executo em outra da o erro, "invalid argument pdv2" que é a conexao que o dbxCmd
recebe, desculpa se nao to sabendo postar e minha primeira vez, rs, desde ja muito obrigado
Rafael Godoy

Rafael Godoy

Curtidas 0

Respostas

Rafael Godoy

Rafael Godoy

29/09/2012

Ola amigos é a minha primeira pergunta sobre delphi, to com um erro que nao consigo solucionar ai vai,
Quando eu executo meu programa no delphi Ex2 (Tecla F9) ele roda normal, ai eu pego a pasta que estao os executaveis e todo programa, passa para outra, maquina que nao seja a minha da erro.
a fonte do erro é essa parte no codigo
DBXConn:=TDBXConnectionFactory.GetConnectionFactory.GetConnection('PDV2','SYSDBA','masterkey');
DBXCmd:= DBXConn.CreateCommand;
DBXCmd.Text:='SELECT * FROM CLIENTESBETO WHERE ID_CLIENTEBETO =' + QuotedStr(codigo);
DBXReader:= DBXCmd.ExecuteQuery;

if DBXReader.Next then
begin
...
end
.......Nao vou postar todo o codigo por so nessa parte que nao passa

O codigo ta perfeito na minha maquina, mais eu executo em outro pc da o erro, "invalid argument pdv2" que é a conexao que o dbxConn recebe, desculpa se nao to sabendo postar e minha primeira vez, rs, desde ja muito obrigado
GOSTEI 0
Rafael Godoy

Rafael Godoy

29/09/2012

aff ninguem, ajuda ai pessoal
GOSTEI 0
Marcos Iwazaki

Marcos Iwazaki

29/09/2012

Amigo.
Pelo jeito ele não esta reconhecendo o argumento pdv2.

Provavelmente o problema esta em como vc configura o seu componente de conexão com o banco.

para resolver este problema vc tem q passar o .ini do dbexpress que tenha a configuração do PDV2
ou vc para um arquivo de configuração seu e na hora de abrir a conexão vc le o arquivo e configura.

Ola amigos é a minha primeira pergunta sobre delphi, to com um erro que nao consigo solucionar ai vai,
Quando eu executo meu programa no delphi Ex2 (Tecla F9) ele roda normal, ai eu pego a pasta que estao os executaveis e todo programa, passa para outra, maquina que nao seja a minha da erro.
a fonte do erro é essa parte no codigo
DBXConn:=TDBXConnectionFactory.GetConnectionFactory.GetConnection('PDV2','SYSDBA','masterkey');
DBXCmd:= DBXConn.CreateCommand;
DBXCmd.Text:='SELECT * FROM CLIENTESBETO WHERE ID_CLIENTEBETO =' + QuotedStr(codigo);
DBXReader:= DBXCmd.ExecuteQuery;

if DBXReader.Next then
begin
...
end
.......Nao vou postar todo o codigo por so nessa parte que nao passa

O codigo ta perfeito na minha maquina, mais eu executo em outro pc da o erro, "invalid argument pdv2" que é a conexao que o dbxConn recebe, desculpa se nao to sabendo postar e minha primeira vez, rs, desde ja muito obrigado
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

29/09/2012

se for em outro pc,e nele não exite o delpi amigo, não funionará, pos vc estará tentando
fazer o programa abrir ainda como projeto, mesmo tendo o executavel e fontes.

sendo assim neste pc sem o delphi não tem a engine para seu banco de dados fazer a conexão.

para ele funcionar em outro pc, ele teria quer ser instalado como software,( instalador).


pois os erros que vc relata se refere a errros de acesso ao banco de dados.

vamos supor que vc carregou todo o projeto para outro pc que tenha o delphi, a pasta do aplicativo
tem ter o mesmo nome neste pc, e estar no mesmmo local
do original: exemplo a pasta esta em c: , neste pc também deverá ficar em c:

caso ainda obtenha os erros, não sei qual engine vc esta usando, se for exemplo: interbase

refaça o caminho do banco, ('PDV2','SYSDBA','masterkey')
se não souber indicar o caminho veja no projeto original no micro onde ele esta
e veja estes parametros de conexão e refaça, assim, tchaw para o erro.

veja bem não é no seu codigo, e sim na engine que gerencia o caminho do banco, ok.
seta na engine caminho o SYSDBA e masterkey.

falows.
GOSTEI 0
Paulo

Paulo

29/09/2012

se for em outro pc,e nele não exite o delpi amigo, não funionará, pos vc estará tentando
fazer o programa abrir ainda como projeto, mesmo tendo o executavel e fontes.

sendo assim neste pc sem o delphi não tem a engine para seu banco de dados fazer a conexão.

para ele funcionar em outro pc, ele teria quer ser instalado como software,( instalador).


pois os erros que vc relata se refere a errros de acesso ao banco de dados.

vamos supor que vc carregou todo o projeto para outro pc que tenha o delphi, a pasta do aplicativo
tem ter o mesmo nome neste pc, e estar no mesmmo local
do original: exemplo a pasta esta em c: , neste pc também deverá ficar em c:

caso ainda obtenha os erros, não sei qual engine vc esta usando, se for exemplo: interbase

refaça o caminho do banco, ('PDV2','SYSDBA','masterkey')
se não souber indicar o caminho veja no projeto original no micro onde ele esta
e veja estes parametros de conexão e refaça, assim, tchaw para o erro.

veja bem não é no seu codigo, e sim na engine que gerencia o caminho do banco, ok.
seta na engine caminho o SYSDBA e masterkey.

falows.


Como criar um instalador para ele funcionar em outro pc que não tenha o delphi instalado?
GOSTEI 0
Alisson Santos

Alisson Santos

29/09/2012

Caro Colega para a sua aplicação funcionar corretamente, primeiro quando desenvolvido um instalador tem que acompanhar dois arquivos que são de configuração do banco.
dbxconnections e o dbxdrivers.
Abrir o dbxconnections e acha qual o bloco de instrução é referente ao seu bando e colocar na frente da chave Database= o caminho do banco, apenas isso resolveria o seu problema.
GOSTEI 0
Rafael Godoy

Rafael Godoy

29/09/2012

Obrigado a todos, vou tentar mais tarde digo se funcionou, obrigado
GOSTEI 0
Alisson Santos

Alisson Santos

29/09/2012

Conseguiu fazer funcionar em outra estação.??
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

29/09/2012

se for em outro pc,e nele não exite o delpi amigo, não funionará, pos vc estará tentando
fazer o programa abrir ainda como projeto, mesmo tendo o executavel e fontes.

sendo assim neste pc sem o delphi não tem a engine para seu banco de dados fazer a conexão.

para ele funcionar em outro pc, ele teria quer ser instalado como software,( instalador).


pois os erros que vc relata se refere a errros de acesso ao banco de dados.

vamos supor que vc carregou todo o projeto para outro pc que tenha o delphi, a pasta do aplicativo
tem ter o mesmo nome neste pc, e estar no mesmmo local
do original: exemplo a pasta esta em c: , neste pc também deverá ficar em c:

caso ainda obtenha os erros, não sei qual engine vc esta usando, se for exemplo: interbase

refaça o caminho do banco, ('PDV2','SYSDBA','masterkey')
se não souber indicar o caminho veja no projeto original no micro onde ele esta
e veja estes parametros de conexão e refaça, assim, tchaw para o erro.

veja bem não é no seu codigo, e sim na engine que gerencia o caminho do banco, ok.
seta na engine caminho o SYSDBA e masterkey.

falows.


Como criar um instalador para ele funcionar em outro pc que não tenha o delphi instalado?



O Delphi traz consigo o InstallShield, da empresa InstallShield Software Corporation, use ele para criar um cd de instalação do seu apliactivo, apos seu aplicativo instalado no micro, junto sera instalado o BDE, va em painel de controle e veja se seu aplicativo esta nesta engine, se sim verifque o path, se o camimho ('PDV2','SYSDBA','masterkey') esta correto, se não tem nada refaça manualmente.

tem um ouro Aplicativo para criar instalador que é o inno setup, é em portugues, porém busque na net artigo de como fazer um instalador com ele para aplicativo em delphi e junto do aplitivo ele instale o BDE junto,ok.
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

29/09/2012

Caro Colega para a sua aplicação funcionar corretamente, primeiro quando desenvolvido um instalador tem que acompanhar dois arquivos que são de configuração do banco.
dbxconnections e o dbxdrivers.
Abrir o dbxconnections e acha qual o bloco de instrução é referente ao seu bando e colocar na frente da chave Database= o caminho do banco, apenas isso resolveria o seu problema.


colega qualquer instalador como no caso InstallShield, ao configurar na criação como instalador, tem a opção de inserir
banco de dados executavel,local de instalação, ele todo configurado cria a engine de comunicação de dados e indica o caminho da aplicação (path), no entanto não é preciso estes arquivos que são componentes não visual de bco de dados
sendo eles já setados na aplicação, para que carregar eles na instalação?
caso o instalador foi configurado errado, e não ceta o caminho do bco no path, basta abrir a engine e fazer o path, só isto.
sendo isto caso raro um instalador não preparar o path na engine de dados.
GOSTEI 0
Gilvanio Gonçalves

Gilvanio Gonçalves

29/09/2012

Rafael, caso não consiga fazer o instalador, ou não queira, faça o seguinte no micro onde vc levou os fontes e executavel, use o cd do delphi como se fosse instalar o delphi, escolha instalação personalizada, e deixe só marcado BDE.
instale ele, apos instalar , va em painel de controle abra o BDE e configue ele para onde esta seu aplicativo, se vc não sabe como , va no micro onde esta o seu aplicativo funcionando abra o BDE e veja lá como esta o path e faça igual no outro micro.

agora se estiver tratando de uma estação, tipo seu plicativo esta em um micro e vc quer que ele funcione no outro micro que chamamos de estacão, na estação pode ficar apenas a pasta do seu aplicativo e dentro dela só o executavel, e configure o path do BDE para buscar as informaçãoes de dados no servidor, quando for clicado no icone de seu aplicativo.
lembrando que os micros devem estar em rede.

aqui então de dou a solução e não sugestão,ok.

observo qua aqui neste forum, os colegas fazem pergunta, tipo deu certo?, conseguiu? entre outras perguntas.
colegas os uasuarios precisam e de resposta(solução) e não de perguntas!.
GOSTEI 0
Rafael Godoy

Rafael Godoy

29/09/2012

Obrigado a todos, a dica do alison funcionou perfeitamente peguei os arquivos dbx e fiz a conexao, obrigado a todos.
GOSTEI 0
Chateaubriand Lima

Chateaubriand Lima

29/09/2012

Use o dbxconnections.ini na máquina em que vai usar o sistema.

Exemplo:

[PDV2]
drivername=FIREBIRD
blobsize=-1
commitretain=False
Database=C:\PDV2\BD\PDV2.FDB
localecode=0000
Password=
rolename=RoleName
sqldialect=3
isolationlevel=ReadCommitted
user_name=
waitonlocks=True
trim char=False
ServerCharSet=WIN1252
GOSTEI 0
POSTAR