Поставщик OLE DB для DB2
Поставщик Microsoft OLE DB для DB2, распространяемый вместе со службами Microsoft Host Integration Server 2004, позволяет распределенным запросам SQL Server 2005 обращаться к данным в базе данных DB2.
Примечание. |
---|
Поставщик OLE DB для DB2 входит в состав SQL Server 2005. Дополнительные сведения об установке и настройке поставщика OLE DB см. в документации, которая поставляется вместе с ним. |
Создание связанного сервера для доступа к базе данных DB2:
Установите клиентское программное обеспечение службы Host Integration Server 2004 на компьютере, на котором запущен экземпляр SQL Server, и выберите параметры для установки поставщика OLE DB для DB2.
Укажите строку подключения, которая требуется поставщику OLE DB для DB2 для доступа к нужному источнику данных. Проще всего это сделать, создав файл Data Link, используя приложение Host Integration Server New OLE DB Data Source. Дополнительные сведения см. в документации по Microsoft Host Integration Server 2004.
Чтобы создать связанный сервер, выполните процедуру 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 2005 с именами DB2.
В следующем примере входное имя SQL Server
SQLJoe
сопоставляется с входным именем DB2DB2Joe
: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 или имеют значения по умолчанию.
См. также
Основные понятия
Поставщики OLE DB, проверенные в работе с SQL Server
Распределенные запросы
Другие ресурсы
sp_addlinkedserver (Transact-SQL)
sp_addlinkedsrvlogin (Transact-SQL)