Замечания по выпуску


|6.7 Обращение к источникам данных Microsoft SQL Server с использованием ODBC (новая глава)

| |

|Перед тем, как добавить в сервер объединения DB2 источники данных Microsoft |SQL Server, на сервере объединения необходимо установить и сконфигурировать |драйвер ODBC. Особенности установки драйвера подробно описаны в |установочных процедурах в документации, поставляемой с драйвером ODBC.

|Чтобы настроить сервер объединения на доступ к данным из источников данных |Microsoft SQL Server, нужно: |

  1. |Установить и сконфигурировать драйвер ODBC на сервере объединения. |Особенности установки драйвера подробно описаны в установочных процедурах в |документации, поставляемой с драйвером ODBC. |

    |На серверах DB2 for Windows NT:
    |Сконфигурируйте системное имя источника данных (DSN) с помощью |менеджера устройств ODBC. При помощи администратора данных ODBC |(Windows ODBC Data Administrator) задайте драйвер сервера SQL и, следуя |подсказкам диалогового окна, добавьте новое системное имя DSN. Задайте |"SQL Server Authentication using Login ID and password provided by the user" |("Аутентификация сервера SQL с использованием ID регистрации и пароля, |предоставляемых пользователем").

    |На серверах DB2 for AIX:
    |Установите потоковую версию библиотек, поставляемых MERANT, первой записью |в LIBPATH задайте каталог библиотеки MERANT и настройте файл |.odbc.ini. |
  2. |Установите DB2 Relational Connect Версии 7.2. Смотрите |раздел 6.3.3, Установка DB2 Relational Connect.
  3. |Добавьте источники данных Microsoft SQL Server на сервер |объединения.
  4. |Задайте кодовые страницы Microsoft SQL Server (только для Windows |NT). |

|В этой главе обсуждаются шаги 3 и 4.

|Указания этой главы относятся к платформам Windows NT и AIX. |Особенности конкретных платформ оговариваются специально.

|6.7.1 Добавление на сервер объединения источников данных Microsoft SQL Server

|После установки драйвера ODBC и DB2 Relational Connect добавьте на сервер |объединения источники данных Microsoft SQL Server, выполнив следующие |шаги: |

  1. |Задайте переменные среды (только для AIX).
  2. |Запустите сценарий оболочки (только для AIX).
  3. |Необязательно: Задайте переменную среды DB2_DJ_COMM (только для |AIX).
  4. |Перезапустите экземпляр DB2 (только для AIX).
  5. |Создайте оболочку.
  6. |Создайте сервер.
  7. |Создайте отображение пользователей.
  8. |Создайте псевдонимы для таблиц и производных таблиц.
  9. |Необязательно: Получите трассировки ODBC. |

|Эти шаги подробно объясняются в разделах ниже.

|6.7.1.1 Шаг 1: Задание переменных среды (только для AIX)

|

|Задайте переменные среды источника данных: внесите изменения в файл |db2dj.ini и введите команду db2set. В |файле db2dj.ini содержится информация о конфигурации для |соединения с источниками данных Microsoft SQL Server. Команда |db2set приводит реестр профиля DB2 в соответствие с вашими |настройками.

|В системе многораздельной базы данных можно использовать один файл |db2dj.ini для всех узлов определенного экземпляра сервера |или же отдельные файлы db2dj.ini для одного или нескольких |узлов экземпляра сервера. В системе однораздельных баз данных может |быть только один файл db2dj.ini на один экземпляр |сервера.

|Чтобы задать переменные среды: |

  1. |Отредактируйте файл db2dj.ini в каталоге |$HOME/sqllib/cfg, задав следующие переменные среды:
    |ODBCINI=$HOME/.odbc.ini
    |DJX_ODBC_LIBRARY_PATH=<путь к драйверу Merant>/lib
    |DB2ENVLIST=LIBPATH
    | 
    |

|Введите команду db2set, чтобы внести сделанные изменения в |реестр профиля DB2. Синтаксис db2set зависит от структуры |вашей системы баз данных: |

| |

|Чтобы задать путь к клиентской библиотеке, введите команды:

|db2set DB2LIBPATH=<путь к клиентской библиотеке Merant>
|db2set DB2ENVLIST=LIBPATH

|6.7.1.2 Шаг 2: Запуск сценария оболочки (только для AIX)

|

|Сценарий оболочки djxlink.sh компонует клиентские |библиотеки с библиотеками оболочки. Чтобы запустить сценарий оболочки, |введите:

|djxlink

|6.7.1.3 Шаг 3 (необязательный): Задание переменной среды DB2_DJ_COMM (только для AIX)

|

|Если вы считаете, что обращение к источнику данных Microsoft SQL Server |занимает слишком много времени, можно улучшить производительность, задав |переменную среды DB2_DJ_COMM, чтобы загружать оболочку при инициализации |сервера объединения, а не при обращении к этому источнику. Задайте |переменную среды DB2_DJ_COMM, чтобы включить библиотеку оболочки, |соответствующую оболочке, заданной вами на Шаге 5. Например: |

|На серверах DB2 for Windows NT:
|db2set DB2_DJ_COMM=djxmssql3.dll

|На серверах DB2 for AIX:
|db2set DB2_DJ_COMM=libmssql3.a
|

|Слева и справа от знака равенства (=) не должно быть пробелов.

|Дополнительную информацию об именах библиотек оболочек смотрите в |справочнике DB2 SQL Reference .

|6.7.1.4 Шаг 4: Перезапуск экземпляра DB2 (только для AIX)

|Чтобы гарантировать задание переменных среды в программе, перезапустите |экземпляр DB2. При перезапуске экземпляра DB2 вы его обновляете, и |внесенные изменения вступают в силу. Перезапустите экземпляр DB2, введя |команду:

|db2stop
|db2start

|6.7.1.5 Шаг 5: Создание оболочки

|

|В DB2 Universal Database есть два разных протокола, называемых оболочками, |которые можно использовать для обращения к источникам данных Microsoft SQL |Server. Оболочка - это механизм, посредством которого серверы |объединения подключаются к источникам данных и получают от них данные. |Используемая оболочка зависит от платформы, на которой запускается DB2 |Universal Database. Чтобы выбрать подходящую оболочку, посмотрите Табл. 3.
|

|Табл. 3. Драйверы ODBC

Драйвер ODBC Платформа Имя оболочки
Драйвер ODBC Версии 3.0 (или новее) Windows NT DJXMSSQL3
Драйвер MERANT DataDirect Connect ODBC Версии 3.6 AIX MSSQLODBC3

|С помощью оператора CREATE WRAPPER задайте оболочку, которая будет |использоваться для работы с источниками данных Microsoft SQL Server. |Ниже приводится пример оператора CREATE WRAPPER:

|CREATE WRAPPER DJXMSSQL3 

|где DJXMSSQL3 - имя оболочки по умолчанию, используемое на |сервере DB2 for Windows NT (с использованием драйвера ODBC Версии |3.0). Для сервера DB2 for AIX нужно задать имя оболочки |MSSQLODBC3.

|Имя оболочки по умолчанию можно заменить на выбранное вами имя. |Однако в этом случае придется включить параметр LIBRARY и указать имя |библиотеки оболочки для платформы сервера объединения в операторе CREATE |WRAPPER. Например: |

|На серверах DB2 for Windows NT:
|CREATE WRAPPER имя_оболочки LIBRARY 'djxmssql3.dll'

|где имя_оболочки - имя, которое вы хотите присвоить оболочке, а |'djxmssql3.dll' - имя библиотеки.

|На серверах DB2 for AIX:
|CREATE WRAPPER имя_оболочки LIBRARY 'libmssql3.a'

|где имя_оболочки - имя, которое вы хотите присвоить оболочке, а |'libdjxmssql.a' - имя библиотеки. |

|Дополнительную информацию об именах библиотек оболочек смотрите в описании |оператора CREATE WRAPPER в справочнике DB2 SQL Reference.

|6.7.1.6 Шаг 6: Создание сервера

|

|Задайте каждый источник данных Microsoft SQL Server, с которым вы хотите |соединяться, при помощи оператора CREATE SERVER. Например:

|CREATE SERVER сервер_sql TYPE MSSQLSERVER VERSION 7.0 WRAPPER djxmssql3
|OPTIONS (NODE 'узел_sql', DBNAME 'имя_базы_данных')

|где: |

|сервер_sql
|- Имя, присваиваемое серверу Microsoft SQL Server. Это имя должно |быть уникальным.

|MSSQLSERVER
|- Тип источника данных, доступ к которому вы конфигурируете.

|7.0
|- Версия Microsoft SQL Server, к которому производится подключение. |DB2 Universal Database поддерживает Microsoft SQL Server Версий 6.5 и |7.0.

|djxmssql3
|- Имя оболочки, которое вы задали в операторе CREATE WRAPPER.

|'узел_sql'
|- имя системного источника данных (DSN), ссылающегося на версию сервера |Microsoft SQL Server, к которому вы обращаетесь. Это значение |регистрозависимо. DB2 Universal Database поддерживает Microsoft SQL |Server Версий 6.5 и 7.0.

|Хотя имя узла указывается как необязательный параметр, при работе с |источниками данных Microsoft SQL Server его задание необходимо. В |Windows посмотрите DSN на вкладке System DSN инструмента Windows ODBC Data |Administrator. В AIX посмотрите DSN в файле |.odbc.ini в домашнем каталоге владельцев экземпляров |DB2.

|Дополнительные опции, которые можно использовать с оператором CREATE |SERVER, описаны в справочнике DB2 SQL Reference .

|'имя_базы_данных'
|- Имя базы данных, к которой вы подсоединяетесь.

|Хотя имя базы данных указывается в операторе CREATE SERVER как |необязательный параметр, при работе с источниками данных Microsoft SQL Server |его задание необходимо. |

|6.7.1.7 Шаг 7: Создание отображения пользователей

|Если ID или пароль пользователя на сервере объединения отличен от ID или |пароля пользователя в источнике данных Microsoft SQL Server, создайте |отображение локального ID пользователя на ID и пароль, заданные в источнике |данных Microsoft SQL Server, с помощью оператора CREATE USER MAPPING, |например:

|CREATE USER MAPPING FOR пользователь_db2 SERVER имя_сервера
|OPTIONS (REMOTE_AUTHID 'пользователь_mssql', REMOTE_PASSWORD 'day2night')

|где: |

|пользователь_db2
|- Локальный ID пользователя, для которого создается отображение на ID |пользователя, заданный в источнике данных Microsoft SQL Server.

|имя_сервера
|- Имя сервера, определенное в операторе CREATE SERVER.

|'пользователь_mssql'
|- ID регистрации на источнике данных Microsoft SQL Server, с которым |устанавливается соответствие идентификатора пользователь_db2. |Это значение регистрозависимо.

|'day2night'
|- Пароль пользователя "пользователь_mssql". Это значение |регистрозависимо. |

|Дополнительные опции, которые можно использовать с оператором CREATE USER |MAPPING, описаны в справочнике DB2 SQL Reference .

|6.7.1.8 Шаг 8: Создание псевдонимов для таблиц и производных таблиц

|Назначьте псевдонимы для всех производных таблиц и таблиц, находящихся в |источнике данных Microsoft SQL Server, к которому вы намереваетесь |подключаться. Эти псевдонимы будут использоваться при запросах |источника данных Microsoft SQL Server. Для назначения псевдонимов |используйте оператор CREATE NICKNAME. Псевдонимы |регистрозависимы. Ниже приводится пример использования оператора CREATE |NICKNAME:

|CREATE NICKNAME mssqlsales FOR server_name.salesdata.europe

|где: |

|mssqlsales
|- Уникальный псевдоним таблицы или производной таблицы Microsoft SQL |Server.

|server_name.salesdata.europe
|- Трехчастный идентификатор в формате:

|имя_сервера_источника_данных.имя_удаленной_схемы.имя_удаленной_таблицы

|Части псевдонима имя_удаленной_схемы и |имя_удаленной_таблицы рекомендуется задавать в двойных |кавычках. |

|После создания псевдонима DB2 пытается получить доступ к таблицам каталога |источника данных (Microsoft SQL Server обращается к ним как к системным |таблицам). При этом происходит проверка соединения с источником |данных. Если соединение завершается неудачно, вы получаете сообщение об |ошибке.

|Повторите этот шаг для каждой таблицы и производной таблицы базы данных, |для которых хотите создать псевдонимы.

|Дополнительную информацию об операторе CREATE NICKNAME смотрите в |справочнике DB2 SQL Reference. Более подробную информацию о |псевдонимах в целом и о проверке отображения типов данных смотрите в книге |Руководство администратора DB2.

|6.7.1.9 Шаг 9 (необязательный): Получение трассировок ODBC

|

|Если вы испытываете трудности при обращении к источнику данных, можно |получить информацию трассировки ODBC, чтобы проанализировать причины |затруднений и устранить их. Чтобы убедиться, что трассировка ODBC |работает правильно, воспользуйтесь инструментом трассировки, предоставляемым |ODBC Data Source Administrator. Включенная трассировка снижает |производительность системы, поэтому ее следует отключить, как только проблема |будет решена.

|6.7.2 Обзор кодовых страниц Microsoft SQL Server (только для Windows NT)

|

|Microsoft SQL Server поддерживает многие из опций общих кодовых страниц |поддержки национальных языков, которые поддерживает DB2 UDB. Для |источников данных, где используется тот же кодовый набор, что и в DB2, |преобразование не требуется. В таблице 3 приводятся кодовые страницы, |которые поддерживает и DB2 Universal Database, и Microsoft SQL Server.
|

|Табл. 4. Опции кодовых страниц DB2 UDB и Microsoft SQL Server

Кодовая страница Поддерживаемый язык
1252 Набор символов ISO
850 Многоязычная
437 Американский английский
874 Тайский
932 Японский
936 Китайский (упрощенный)
949 Корейский
950 Китайский (традиционный)
1250 Центральная Европа
1251 Кириллица
1253 Греческий
1254 Турецкий
1255 Иврит
1256 Арабский

|Когда сервер объединения DB2 и Microsoft SQL Server запускаются с разными |кодовыми страницами поддержки национальных языков (NLS), необходимо, чтобы |источник данных Microsoft SQL Server был сконфигурирован в соответствии с |этими эквивалентами, либо чтобы программа клиента могла распознавать |несовпадения и помечать их как ошибки или выполнять отображение данных с |помощью собственной семантики. Если не удается найти ни одной таблицы |преобразования из исходной кодовой страницы в кодовую страницу назначения, DB2 |выдает сообщение об ошибке. Более подробная информация приводится в |документации по Microsoft SQL Server.


[ Начало страницы | Страница назад | Страница вперед | Содержание | Индекс ]