Для успешного выполнения команды db2start в среде Windows 95, Windows 98 или Windows Millennium Edition (ME) необходимо:
Кроме этого, ID пользователя, заданный при регистрации или для команды db2logon должен удовлетворять требованиям DB2 (смотрите примечание (NOTE2)).
При запуске команды db2start она сначала проверяет, нет ли в системе зарегистрированного пользователя. Если такой пользователь есть, команда db2start использует его ID пользователя. Если зарегистрированных пользователей нет, команда db2start проверяет, не запущена ли команда db2logon, и если она запущена, команда db2start использует ID пользователя, заданный для команды db2logon. Если команда db2start не может найти правильный ID пользователя, она прекращает свою работу.
При установке DB2 Universal Database Версии 7 в Windows 95, Windows 98 и Windows ME программа установки по умолчанию добавляет в папку Автозагрузка ярлык, запускающий команду db2start при загрузке системы (дополнительную информацию смотрите в примечании (NOTE_1)). Если ни один пользователь не был зарегистрирован в системе и не была запущена команда db2logon, команда db2start прекратит свою работу.
Для случая, когда в системе не были зарегистрированы пользователи, можно удовлетворить требование запуска команды db2logon перед командой db2start, выполняя команды из пакетного файла:
@echo off db2logon db2local /p:password db2start cls exit
Диск и каталог установки DB2 записан в переменной реестра DB2 DB2PATH. Чтобы узнать диск и каталог установки DB2, используйте следующую команду:
db2set -g db2path
Предположим, команда эта db2set вернула значение c:\sqllib. В этом случае сохраните пакетный файл как файл:
c:\sqllib\bin\db2start.bat
del "C:\WINDOWS\Start Menu\Programs\Startup\DB2 - DB2.lnk"
Если вы решили использовать свой собственный ярлык, для него нужно включить атрибут Закрывать окно по завершении сеанса работы. Если этот атрибут не выключен, даже после успешного завершения команды db2start в полосе задач останется сеанс командной строки DOS. Чтобы окно DOS не открывалось при выполнении db2start, можно при создании этого ярлыка задать для него (и окна DOS, в котором выполняется пакетный файл) режим выполнения в свернутом окне.
Если для выполнения команды db2logon перед командой db2start используется пакетный файл и иногда в этот момент в системе зарегистрированы пользователи, команда db2start будет продолжать работать; единственное отличие в том, что DB2 будет использовать ID зарегистрированного пользователя. Более подробную информацию смотрите в примечании (NOTE_1).
Примечания:
db2logon ID_пользователя /p:пароль
Заданный в этой команде ID пользователя должен удовлетворять требованиям к именам DB2 (дополнительную информацию смотрите в примечании (NOTE2)). Если в этой команде не заданы ID пользователя и пароль, откроется окно, запрашивающее пользователя ввести ID пользователя и пароль. Если задан только ID пользователя, пароль у пользователя не запрашивается; в некоторых случаях, описанных ниже, пароль обязателен.
Заданные командой db2logon ID пользователя и пароль используются, только если в системе не зарегистрировался ни один пользователь (с помощью окна регистрации Windows или окна регистрации Microsoft Networking). Если зарегистрирован пользователь и была запущена команда db2logon, для всех действий DB2 используется ID пользователя, заданный в команде db2logon, но заданный в команде db2logon пароль игнорируется.
Если нет пользователей, зарегистрированных с помощью окна регистрации Windows или окна регистрации Microsoft Networking, заданные в команде db2logon ID пользователя и пароль используются следующим образом:
Эта таблица будет создана со спецификатором высокого уровня как db2local.tab1.
Используйте ID пользователя, совпадающий с именем схемы для таблиц и других объектов.
Для использования прикладной программы Synchronizer DB2 или вызовов функций API синхронизации из прикладной программы должна быть запущена DB2, если загруженные для выполнения сценарии содержат команды, обращающиеся к локальному экземпляру или локальной базе данных. Эти команды могут находиться в сценариях базы данных, сценариях экземпляра или сценариях операционной системы (OS). Если сценарий OS не содержит команд процессора командной строки или вызовов функций API DB2, использующих экземпляр или базу данных, этот сценарий можно выполнять без запуска DB2. Поскольку может быть сложно заранее определить, будут ли такие команды выполняться в сценариях во время процесса синхронизации, лучше запустить DB2 перед началом процесса синхронизации.
Если из прикладной программы вызывается команда db2sync или функции API синхронизации, при инициализации этой прикладной программы следует запустить DB2. Если для запуска синхронизации пользователи будут использовать ярлык Synchronizer DB2 из папки DB2 для Windows, этот ярлык синхронизации DB2 нужно изменить, чтобы он вызывал файл db2sync.bat. Этот файл должен содержать следующие команды, обеспечивающие запуск DB2 перед началом синхронизации:
@echo off db2start.bat db2sync.exe db2stop.exe cls exit
В этом примере подразумевается, что файл db2start.bat запускает команды db2logon и db2start, как описано выше.
Если вы решили запускать DB2 при запуске прикладной программы, убедитесь, что программа установки DB2 не добавила в папку Автозагрузка ярлык для запуска DB2. Подробную информацию смотрите в примечании (NOTE3).