Para que um comando db2start seja bem sucedido em um ambiente Windows 95, Windows 98, ou Windows Millennium Edition (ME), é necessário:
E mais, o ID do usuário que é especificada durante o logon ou para o comando db2logon deve corresponder às exigências do DB2 (veja a nota (NOTE2)).
Quando o comando db2start inicia, ele primeiro verifica se um usuário que 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 especificada para o comando db2logon. Se o comando db2start não puder encontrar um ID do usuário válida, 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 (NOTE_1) para obter maiores informações). 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 de lote, 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. Nesta situação, você iria armazenar o arquivo 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 este 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 este atalho (e a janela do DOS em que ele é executado) definido para ser executado minimizado.
Se você usar um arquivo batch para emitir o comando db2logon antes do comando db2start ser executado, e seus usuários ocasionalmente efetuam 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 (NOTE_1) para detalhes adicionais.
Notas:
db2logon userid /p:password
O ID do usuário especificada no comando deve satisfazer as exigências de nomeação do DB2 (consulte a nota (NOTE2) para mais informações). Se o comando for emitido sem um ID do usuário e senha, uma janela é aberta para solicitar ao usuário a fornecer o ID do usuário e senha. Se o único parâmetro fornecido for um ID do usuário, o usuário não será perguntado por uma senha; sob certas condições, uma senha será exigida, como descrito abaixo.
Os valores do ID do usuário de da senha que são definidos pelo comando db2logon só são utilizados se a 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 o 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 fornecidas através do comando db2logon são usadas 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. Estes comandos podem estar em scripts de banco de dados, scripts de instância, ou embutidos em scripts do sistema operacional (SO). Se um script do SO 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 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
Neste 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, garanta que a instalação do DB2 não inclua um atalho na pasta Iniciar para iniciar o DB2. Consulte a nota (NOTE3) para detalhes.