Как показано на Рис. 29, для доступа к любым базам данных DB2 for VM или сервера прикладных программ DRDA прикладная программа VM должна обращаться через реквестер прикладных программ DB2 for VM (адаптер ресурсов). База данных сервера прикладных программ DB2 for VM может принимать требования SQL от любого реквестера прикладных программ DB2 for VM или DRDA.
Рис. 29. Реквестер прикладных программ и сервер прикладных программ DB2 for VM
DB2 for VM поддерживает три опции обработки в команде sqlinit, позволяющие пользователю и администратору базы данных разрешать поддержку распределенных баз данных. Пользователь может задать одну из следующих опций SQLINIT перед препроцессорной обработкой или выполнением прикладной программы:
В Табл. 3 сравниваются функциональные характеристики опций обработки
SQLINIT для реквестера прикладных программ DB2 for VM.
Табл. 3. Сравнение опций обработки SQLINIT для реквестера прикладных программ DB2 for VM
[SQLDS] | [AUTO] | [DRDA] |
На обеих системы партнеров должны использоваться DB2 for VM | Соединяется с любой системой DRDA | Соединяется с любой системой DRDA |
Может связываться с партнером в локальной системе или через TSAF или AVS/VTAM | Может связываться с локальной системой DB2 for VM или с удаленной системой DB2 for VM через TSAF или AVS. Для связи с системой другого типа необходимо использовать связь через AVS. | Может связываться с локальной системой DB2 for VM или с удаленной системой DB2 for VM через TSAF или AVS. Для связи с системой другого типа необходимо использовать связь через AVS. |
Поддерживает статические, динамические и расширенные динамические операторы SQL | Поддерживает статические, динамические и расширенные динамические операторы SQL | Поддерживает статические, динамические и расширенные динамические операторы SQL 6 |
Сервер прикладных программ DB2 for VM игнорирует CCSID, заданные в SQLINIT для реквестера прикладных программ | Сервер прикладных программ DB2 for VM учитывает CCSID, заданные в SQLINIT для реквестера прикладных программ, и выполняет соответствующие преобразования (если для сервера прикладных программ также задана опция AUTO) | Сервер прикладных программ DB2 for VM учитывает CCSID, заданные в SQLINIT для реквестера прикладных программ, и выполняет соответствующие преобразования |
Размер блока фиксированный: 8 Кбайт; вызов OPEN не возвращает строки; реквестер прикладных программ должен явно закрыть указатель | Соединение DB2 for VM с DB2 for VM: метод SQLDS; все остальные случаи: метод DRDA | Размер блока переменный: от 1 до 32 Кбайт; более компактные пакеты данных; вызов OPEN возвращает один блок строк; сервер прикладных программ может неявно закрыть указатель, избавляя реквестер прикладных программ от необходимости передавать вызов CLOSE |
Можно использовать операции INSERT и PUT с указателем, вставляя строки блоками фиксированного размера 8 Кбайт | Соединение DB2 for VM с DB2 for VM: метод SQLDS; все остальные случаи: метод DRDA | Вызовы PUT преобразуются в обычные операции вставки одной строки и строки передаются по одной. |
Поддерживаются все особые команды DB2 for VM | Соединение DB2 for VM с DB2 for VM: метод SQLDS; все остальные случаи: метод DRDA | Не поддерживаются команды оператора DB2 for VM, некоторые операторы DB2 for VM и некоторые команды ISQL и DBSU (Смотрите справочник DB2 for VSE & VM SQL Reference). |
LUWID не поддерживается | LUWID поддерживается | LUWID поддерживается |
В этом разделе описываются различные опции запуска для машины сервера баз данных.
Администратор базы данных может задать в параметре PROTOCOL при запуске машины сервера баз данных одну из следующих опций.
Работа сервера прикладных программ зависит от опции обработки, заданной для реквестера прикладных программ. Если для реквестера DB2 for VM задано значение PROTOCOL(SQLDS), работа сервера DB2 for VM продолжается в обычном режиме с использованием собственных потоков. Если для реквестера DB2 for VM задано значение PROTOCOL(AUTO), сервер DB2 for VM уведомляет реквестер, что тот должен перейти на использование собственных потоков. Реквестер и сервер прикладных программ не обмениваются информацией CCSID. Сервер прикладных программ предполагает, что значения CCSID реквестера прикладных программ совпадают со значениями CCSID этого сервера прикладных программ. Если для реквестера DB2 for VM задано значение PROTOCOL(DRDA), диалог прекращается. Если реквестер прикладных программ, отличный от DB2 for VSE & VM, пытается обратиться к серверу DB2 for VM, диалог прекращается.
Этот параметр задает, должен ли использоваться менеджер точек синхронизации (SPM) для координации операций в распределенной единице работы DRDA-2 с несколькими читающими и несколькими записывающими системами.
Если задано значение Y, сервер будет, если это возможно, использовать менеджер точек синхронизации для согласования двухфазных операций принятия и действий по ресинхронизации. Если задано значение N, сервер прикладных программ не будет использовать SPM для выполнения двухфазных принятий. Если задано значение N, сервер прикладных программ может использовать только распределенные единицы работы с несколькими читающими системами и одной записывающей системой - то есть запись данных может выполнять только единственная система. Если задано значение Y, но сервер прикладных программ обнаруживает, что менеджер точек синхронизации недоступен, сервер будет работать, как при значении N.
Если PROTOCOL=AUTO, по умолчанию предполагается SYNCPNT=Y. Если PROTOCOL=SQLDS, для параметра SYNCPNT задается значение N.