Поставщик OLE DB для DB2
Поставщик Microsoft OLE DB для DB2, распространяемый вместе с сервером Microsoft Host Integration Server, позволяет распределенным запросам SQL Server обращаться к данным в базах данных DB2.
Примечание |
---|
Дополнительные сведения об установке и настройке поставщика OLE DB см. в документации, которая поставляется вместе с ним. |
Создание связанного сервера для доступа к базе данных DB2
Установите клиентское программное обеспечение Host Integration Server на компьютере, где работает экземпляр SQL Server, и выберите параметры для установки поставщика OLE DB для DB2.
Укажите строку подключения, которая требуется поставщику OLE DB для DB2 для доступа к нужному источнику данных. Проще всего это сделать, создав файл Data Link, используя приложение Host Integration Server для нового источника данных OLE DB. Дополнительные сведения см. в документации по Microsoft Host Integration Server.
Чтобы создать связанный сервер, выполните процедуру sp_addlinkedserver, указав DB2OLEDB в качестве параметра provider_name, имя каталога DB2, содержащего нужные данные, в качестве параметра catalog и строку соединения из шага 2 в качестве параметра provider_string.
Следующий пример демонстрирует использование процедуры sp_addlinkedserver для создания определения связанного сервера, который обращается к базе данных DB2:
EXEC sp_addlinkedserver @server = 'DB2SRV', @srvproduct = 'Microsoft OLE DB Provider for DB2', @catalog = 'SEATTLE', @provider = 'DB2OLEDB', @provstr = 'NetLib=SNA;NetAddr=;NetPort=;RemoteLU=SEATTLE;LocalLU=LOCAL; ModeName=QPCSUPP;InitCat=SEATTLE; Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES; IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO; Data Source=Seattle_WNW3XX'
Выполните процедуру sp_addlinkedsrvlogin, чтобы создать сопоставления имен входа SQL Server с именами DB2.
В следующем примере имя входа SQL ServerSQLJoe сопоставляется с именем входа DB2 DB2Joe:
EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
Примечание Пароли передаются в незашифрованном виде. Пароли могут быть видны в определениях источника данных и сценариях, сохраненных на диске и в составе резервных копий, а также в файлах журналов. Никогда не используйте для таких соединений пароль администратора. За инструкциями по безопасности среды обратитесь к сетевому администратору.
После выполнения этих шагов связанный сервер DB2SRV можно использовать в качестве имен, состоящих из четырех частей, и linked_server в функции OPENQUERY. Например:
SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT
Или
SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')
Если распределенным запросам к источникам данных DB2 требуется сравнение со значением NULL, используйте операторы ISNULL или IS NOT NULL вместо операторов «равно» (=), «больше» (>) или «меньше» (< ). Кроме того, в инструкциях INSERT следует указывать значения для всех столбцов таблицы, даже если некоторые из них могут принимать значения NULL или имеют значения по умолчанию.
См. также