Para que um comando db2start seja bem sucedido em um ambiente Windows 95, Windows 98, ou Windows ME (Millennium Edition), é necessário:
E mais, o ID do usuário que é especificado durante o logon ou para o comando db2logon deve corresponder às exigências do DB2 (veja a nota 2).
Quando o comando db2start inicia, ele primeiro verifica se um usuário efetou o logon. Se um usuário efetuou o logon, o comando db2start usa esse ID do usuário. Se um usuário não efetuou o logon, o comando db2start verifica se um comando db2logon foi executado, e, se foi, o comando db2start usa o ID do usuário que foi especificado para o comando db2logon. Se o comando db2start não puder encontrar um ID do usuário válido, o comando termina.
Durante a instalação do DB2 Universal Database Versão 7 no Windows 95, Windows 98 e Windows ME, o software de instalação, por padrão, inclui um atalho para a pasta Iniciar que executa o comando db2start quando o sistema é inicializado (consulte a nota 1 para obter informações adicionais). Se o usuário do sistema não tiver efetuado logon nem emitido o comando db2logon, o comando db2start encerrará.
Se você ou seus usuários não efetuam logon normalmente no Windows ou em uma rede, você pode ocultar a exigência de emitir o comando db2logon antes de um comando db2start executando comandos em um arquivo em batch, como a seguir:
@echo off db2logon db2local /p:password db2start cls exit
A unidade e o caminho onde o DB2 está instalado são armazenados na variável de registro do DB2, DB2PATH. Para encontrar a unidade e o caminho onde você instalou o DB2, emita o seguinte comando:
db2set -g db2path
Assuma que o comando db2set retorne o valor c:\sqllib. Nessa situação, você iria armazenar o arquivo em batch da seguinte maneira:
c:\sqllib\bin\db2start.bat
del "C:\WINDOWS\Start Menu\Programs\Startup\DB2 - DB2.lnk"
Se você decidir usar seu próprio atalho, você deve definir o atributo fechar ao sair para o atalho. Se você não definir esse atributo, o prompt de comando do DOS é deixado na barra de tarefas mesmo depois que o comando db2start foi concluído com sucesso. Para evitar que a janela do DOS permaneça aberta durante o processo de db2start, você pode criar esse atalho (e a janela do DOS em que ele é executado) definido para ser executado minimizado.
Se você usar um arquivo em batch para emitir o comando db2logon antes do comando db2start ser executado, e seus usuários ocasionalmente efetuarem logon, o comando db2start continuará trabalhando, a única diferença é que o DB2 usará o ID de usuário do usuário logado. Consulte a nota 1 para detalhes adicionais.
Notas:
db2logon userid /p:password
O ID do usuário especificado no comando deve satisfazer as exigências de nomeação do DB2 (consulte a nota 2 para mais informações). Se o comando for emitido sem um ID do usuário e uma senha, uma janela é aberta para solicitar ao usuário a fornecer o ID do usuário e a senha. Se o único parâmetro fornecido for um ID do usuário, uma senha não será solicitada ao usuário; sob certas condições, uma senha será exigida, como descrito abaixo.
Os valores do ID do usuário e da senha que são definidos pelo comando db2logon só são utilizados se o usuário não efetuar logon através da janela de logon do Windows ou da janela de logon da Rede do Windows. Se o usuário efetuou logon, e um comando db2logon foi emitido, o ID do usuário do comando db2logon será utilizado para todas as ações do DB2, mas a senha especificada no comando db2logon será ignorada.
Quando o usuário não tiver efetuado logon na janela de logon do Windows ou na janela de logon da Rede do Windows, o ID do usuário e a senha fornecidos através do comando db2logon são usados da seguinte maneira:
A tabela é criada com um qualificador de alto nível db2local.tab1.
Você deve usar um ID do usuário que seja igual ao nome do esquema das suas tabelas e outros objetos.
Para utilizar o aplicativo DB2 Synchronizer ou chamar as APIs de sincronização a partir de seu aplicativo, o DB2 deve ser iniciado se os scripts que são baixados para execução contêm comandos que operam contra uma instância local ou um banco de dados local. Esses comandos podem estar em scripts de banco de dados, scripts de instância, ou embutidos em scripts do OS (Sistema Operacional). Se um script do OS não contém comandos do Processador da Linha de Comandos ou APIs do DB2 que usam uma instância ou um banco de dados, ele pode ser executado sem o DB2 estar iniciado. Como pode ser difícil dizer antecipadamente que comandos serão executados a partir de seus scripts durante o processo de sincronização, o DB2 deve normalmente ser iniciado antes da sincronização começar.
Se você estiver chamando o comando db2sync ou as APIs de sincronização a partir de seus aplicativos, você deve iniciar o DB2 durante a inicialização do seu aplicativo. Se seus usuários forem estar utilizando o atalho do DB2 Synchronizer na pasta DB2 para Windows para iniciar a sincronização, o atalho do DB2 Synchronization deve ser modificado para executar um arquivo db2sync.bat. O arquivo em batch deve conter os seguintes comandos para garantir que o DB2 esteja sendo executado antes da sincronização começar:
@echo off db2start.bat db2sync.exe db2stop.exe cls exit
Nesse exemplo, assume-se que o arquivo db2start.bat chama os comandos db2logon e db2start como descrito acima.
Se você decidir iniciar o DB2 quando o aplicativo iniciar, assegure-se de que a instalação do DB2 não inclua um atalho na pasta Iniciar para iniciar o DB2. Consulte a nota 3 para obter detalhes.