Service Application

Delphi

24/07/2006

Olá pessoal!
Criar um serviço (Service Application) para rodar em sistemas baseados na plataforma WINNT (WinNT, Win2003, WinXP). Desenvolvi em uma máquina usando o WinXP. O serviço acessa uma base de dados em DB2. Na minha máquina funciona corretamente, tudo certo. Em outra máquina rodando Win 2003 sem delphi instalado, ele não consegue logar no banco de jeito nenhum. Não é problema de configuração do caminho do banco, usuario, senha, etc.

Alguém já passou por um problema deste tipo e sabe me informar o que devo fazer?


Noeli

Noeli

Curtidas 0

Respostas

Massuda

Massuda

24/07/2006

Algumas coisas que você pode dar uma olhada..

(1) Você instalou tudo que precisa para seu programa acessar o BD? Estou falando de BDE, driver dbExpress, etc.

(2) Pode ser que você não tenha instalado o cliente do BD. Usando algum outro programa, você consegue acessar o BD a partir dessa máquina?

(3) O usuário default de um serviço chama-se SYSTEM e esse usuário não tem permissão para acessar a rede. Crie um usuário na máquina com as permissões adequadas e configure seu serviço para rodar usando esse usuário (isso tudo se faz no Painel de Controle do Windows).


GOSTEI 0
Noeli

Noeli

24/07/2006

Massuda, obrigada pelas dicas mas não eh isso!
Eu consigo acessar o banco dessa máquina com outra aplicação.

Nesse meu serviço, uso sqlconnection. Posso usar em serviço?


GOSTEI 0
Massuda

Massuda

24/07/2006

Com relação ao sqlconnection, não entendo muito de BD, mas a princípio deveria funcionar sem problema.

Com relação ao item (3) do meu post anterior, o usuário que me referi não é o usuário do BD, mas sim o usuário (conta) do Windows. Se o serviço estiver rodando como sendo o usuário SYSTEM ou LOCALSERVICE (veja isso no Gerenciador de Tarefas), seu serviço não tem permissão de acessar a rede local e/ou usar TCP/IP.


GOSTEI 0
Noeli

Noeli

24/07/2006

Desculpe Massuda por não ter sido clara e obrigada pela sua atenção.
Eu entendi o q vc quis dizer e já verifiquei, o usuário está ok.
Me referi ao sqlconnection porque quando abro a conexão:
sqlconnection.Open;
é que acontece o seguinte erro:

´The description for Event ID (0) in Source (Agenda) cannot be found.
The local computer may not have the necessary registry information
or message DLL files to display messages from a remote computer. You
may be able to use the /AUXSOURCE = flag to retrieve this description;
see Help and Support for details. The following information is part of
the event: Service failed on start: Unable to Load db2cli.dll.´

Acho q é algum detalhe que não estou me ligando. Esta dll já está em todos os lugares possíveis de ser encontrada.


GOSTEI 0
POSTAR