Для конфигурирования драйвера CLI/ODBC/JDBC можно использовать Ассистент конфигурирования клиента или менеджер драйверов ODBC (если он установлен в системе) или можно вручную отредактировать файл db2cli.ini. Более подробную информацию смотрите в руководстве Дополнение по установке и настройке или CLI Guide and Reference.
Поведение по умолчанию драйвера CLI/ODBC DB2 можно изменить, задав значения обоих ключевых слов PATCH1 и PATCH2 (в файле db2cli.ini или с помощью функции API CLI SQLDriverConnect() или SQLBrowseConnect()).
Задаваемое значение ключевого слова PATCH1 - сумма всех значений, которые нужно задать для него. Например, чтобы задать значения 1, 2 и 8, нужно задать для PATCH1 значение 11. Ниже представлено описание каждого значения и его влияние на драйвер:
Ключевое слово PATCH2 отличается от ключевого слова PATCH1. В нем несколько значений задаются через запятые. Например, чтобы задать значения 1, 4 и 5, нужно задать для PATCH2 значение "1,4,5". Ниже представлено описание каждого значения и его влияние на драйвер:
1 - Указывает драйверу, что он должен перевести имя хранимой процедуры в операторе CALL в верхний регистр. 2 - Не используется. 3 - Указывает драйверу, что он должен переводить все аргументы в вызовах схемы в верхний регистр. 4 - Указывает драйверу, что он должен возвращать для вызовов схем (то есть SQLColumns(), SQLProcedureColumns() и т.д.) набор результатов в формате Версии 2.1.2 вместо формата Версии 5. 5 - Указывает драйверу, что не нужно оптимизировать обработку входных столбцов VARCHAR, если указатель на данные и указатель на длину идут в памяти подряд. 6 - Указывает драйверу, что он должен возвращать сообщение, что указатели с прокруткой не поддерживаются. Требуется для программ Visual Basic, если используются клиент DB2 Версии 5 и сервер DB2 UDB Версии 5. 7 - Указывает драйверу, что он должен отображать все типы данных столбцов GRAPHIC на типы данных столбцов CHAR. Требуется в двухбайтной среде. 8 - Указывает драйверу, что он должен игнорировать аргументы поиска каталогов в вызовах схем. 9 - Не выполнять принятие при раннем закрытии указателя. 10 - Не используется. 11 - Сообщать, что имя каталога поддерживается, (хранимые процедуры VB) 12 - Удалять двойные кавычки из аргументов вызовов схем, (Visual Interdev) 13 - Не добавлять ключевые слова из db2cli.ini к выходной строке соединения 14 - Игнорировать имя схемы в SQLProcedures() и SQLProcedureColumns() 15 - Всегда использовать точку как разделитель дробной части при символьном выводе 16 - Принудительно возвращать информацию описания при каждом открытии 17 - Не возвращать имена столбцов в описании 18 - Пытаться заменять литералы маркерами параметров 19 - В настоящее время DB2 MVS V4.1 не поддерживает синтаксис ODBC, в котором разрешены скобки в условии ON в условии внешнего объединения. Если в PATCH2 задано это значение, драйвер ODBC IBM DB2 будет удалять скобки, если условие внешнего объединения входит в управляющую последовательность ODBC. Это значение следует использовать только при работе с DB2 MVS 4.1. 20 - В настоящее время DB2 on MVS не поддерживает предикат BETWEEN с маркерами параметров в качестве обоих операндов (выражение ? BETWEEN ?). Если задано это значение, драйвер ODBC IBM перепишет такой предикат в виде (выражение >= ? and выражение <= ?). 21 - Задать все только выходные (OUTPUT) параметры для хранимых процедур как SQL_NULL_DATA 22 - Если задано это значение, драйвер ODBC IBM будет сообщать, что внешнее (OUTER) объединение не поддерживается. Предназначено для прикладных программ, генерирующих SELECT DISTINCT col1 или ORDER BY col1 при использовании оператора внешнего объединения, где col1 имеет длину больше 254 символов, в результате DB2 UDB возвращает сообщение об ошибке (поскольку DB2 UDB не поддерживает в таких конструкциях столбцы длиной более 254 байт) 23 - Не оптимизировать ввод для параметров, связанных с cbColDef=0 24 - Обходной прием для работы со значениями времени - они представляются в символьном виде 25 - Обходной прием для работы с десятичными столбцами - из их символьного представления удаляются конечные нули 26 - Не возвращать прикладной программе sqlcode 464 - указывает, что возвращены наборы результатов 27 - Использовать для SQLTables значение ключевого слова TABLETYPE, даже если прикладная программа задает правильное значение 28 - Описывает столбцы real как столбцы double 29 - Исправление работы ADO для десятичных столбцов - удаляет начальные нули для значений x, где 1 > x > -1 (Требуется только для некоторых версий MDAC) 30 - Запрещает оптимизацию кэширования хранимых процедур 31 - Сообщать данные статистики для алиасов в вызове SQLStatistics 32 - Переопределяет обработку кода причины 4 для sqlcode -727 33 - Возвращать преобразованное в символьную форму значение отметки времени в формате ISO (а не в формате ODBC) 34 - Сообщать значение CHAR для столбцов CHAR FOR BIT DATA 35 - Сообщать о неверном TABLENAME, если запрошено SQL_DESC_BASE_TABLE_NAME - оптимизация только для чтения ADO 36 - Зарезервировано 37 - Зарезервировано