Ir ao conteúdo
  • Cadastre-se

Criação de Serviço - Windows Server 2003


Ulysses.Informatica

Posts recomendados

Contexto: 


 


Na empresa onde trabalho usamos um software do Correios chamado "SIGEP", um software de auxílio a logística. Esse software tem um banco de dados compartilhado que pode ser armazenado em nosso servidor Windows Server 2003 e sendo executado no servidor o cliente consegue acessar o banco de dados em um determinado endereço de rede. Ele funciona perfeitamente. 


 


O arquivo o qual deve ser executado chama-se "inciarBanco.cmd" com os seguintes parâmetros "echo Iniciando banco...


jre\bin\javaw -jar derbyrun.jar server start -p 1527 -h 0.0.0.0". Quando o arquivo é iniciado, o banco de dados começa a funcionar. 

 

Problema:

 

Em nosso servidores a conta de usuário dos administradores não ficam logadas, após o uso do servidor fazemos o Logoff da conta de usuário, quando é feito o Logoff o banco de dados para de ser encontrado na rede, ou seja, o serviço é encerrado quando o Logoff é realizado. 

 

Necessidade:

 

Necessito que esse serviço continue sendo executando mesmo que nenhum usuário esteja logado no servidor. 

 

Possíveis resoluções testadas:

 


1. Para que o serviço continuasse sendo executado mesmo sem um usuário logado tentei usar a ferramenta "Agendar Tarefas" agendando para que a tarefa seja executada todos os dias em um determinado horário, porém, na versão 2003 não é possível (eu acho) executar uma tarefa sem que haja um usuário logado no servidor. 


 


2. Usando recursos do Windows criei um serviço, o qual executaria o arquivo "inciarBanco.cmd" (serviço tradicional), configurando-o corretamente no REGEDIT e SERVICES.MSC; o serviço inicia normalmente, mesmo que não haja nenhum usuário logado porém mesmo assim não consigo fazer o acesso do banco de dados, o que demonstra possivelmente apenas o funcionamento da ferramenta de serviço e não o arquivo "iniciarBanco.cmd" em si.


 


Ideias:


 


Gostaria de solicitar aos usuários alguma ideia do possível motivo pelo qual o arquivo não é executado corretamente quando foi criado o serviço ou alguma outra alternativa para a resolução do nosso problema.Vale ressaltar que atualmente deixo o servidor com um usuário logado e rodando o arquivo.


 


Agradeço desde já! 


Link para o comentário
Compartilhar em outros sites

Penso em 2 alternativas:

 

  1. Altere no arquivo .bat / .cmd , acrescentando a opção runas administrator, segue exemplo abaixo:

     runas /profile /user:administrator “C:\programa\seuPrograma.cmd” 
  2. Caso a opção de cima também não funcione, tente localizar o executável que inicia o servidor do banco de dados e  (como se fosse um XAMMP), coloque-o para ser executado.

 

Boa sorte!

Link para o comentário
Compartilhar em outros sites

Micolins, 

 

Quanto a alternativa um, não tive sucesso. Acrescentei os parâmetros, executou corretamente, porém continua encerrando o serviço quando faço logoff com o usuário.

 

A alternativa dois não me parece viável, já que o .CMD chama mais de um arquivo, de qualquer forma vasculhei pelos arquivos e não encontrei nenhum que que seja um 'executável' do banco de dados.

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

@Ulysses.Informatica, encontrei no youtube uma versão online do sigep.

 

http://www.youtube.com/watch?v=mXQclo1LRhU

 

Será que não seria mais viável centralizar tudo pela web, desta forma aliviando o servidor de executar o programa?

 

Creio que seja uma forma de pelo menos contornar o problema

 

Abraços.

Link para o comentário
Compartilhar em outros sites

@micolins, realmente existe uma versão online do SIGEP porém nossos usuários preferem a versão local por ser mais rápida e prática, pois ela armazena outros dados necessários (tipos de pacotes, peso, especificações peculiares entre outras), acredito que em breve esses recursos também serão acrescentados ao SIGEP online.

 

A boa notícia é que consegui uma resolução plausível para o problema. Segue abaixo:

 

Resolução:

 

Levando-se em consideração o ambiente descrito no inicio do tópico, criei as seguintes tarefas agendadas:

 

Tarefa 1> Executar o arquivo .CMD quando o sistema é inicializado (sem necessidade fazer logon);

 

Tarefa 2> Executar o arquivo .CMD quando é feito logon por algum usuário.

 

Sendo assim quando um dos usuários que tem acesso ao servidor fazer logon o software continuará rodando porém quando o mesmo fizer logoff ele parará, mas, quando um outro usuário fizer logon o software será ativado novamente fazendo com que o mesmo fique desativado apenas no período em que o perfil do usuário é carregado. 

 

Medidas de prevenção: Sempre haverá um usuário logado, mas para que outro usuário faça logon este será forçado a um logoff assim nunca ficará de fato desligado. 

 

Vale ressaltar que essa medida só esta sendo tomada por não ser um software o qual necessitamos dele e sim um auxiliar que é usado no máximo por 20/30min por dia, no período da manhã, sendo bem periódico. 

 

Agradeço a atenção! Abraço! 

Vou começar a frequentar mais o fórum.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...