Створення зв'язаного сервера для DB2 використання Microsoft бази даних OLE для DB2


Загальні відомості


У цій статті наведено зразок сценарію SQL для створення пов'язаний сервер для DB2, використовуючи sp_addlinkedserver та проблеми з декількох запитів для ілюстрації до розподіленої запит обробки (DQP) використання DB2OLEDB, у Microsoft OLE DB provider для DB2. Будь ласка, зверніться до такої статті в Microsoft Knowledge Base для отримання інформації про ключові слова, які використовуються в DB2OLEDB-initstring.
218590 настроювання джерела даних, для постачальника Microsoft бази даних OLE для DB2

Створення зв'язаного сервера

EXEC sp_addlinkedserver
@server = 'WNW3XX',
@srvproduct = 'Microsoft OLE DB Provider for DB2',
@catalog = 'OLYMPIA',
@provider = 'DB2OLEDB',
@provstr='NetLib=SNA;NetAddr=;NetPort=;RemoteLU=OLYMPIA;LocalLU=LOCAL;ModeName=QPCSUPP;User ID=WNW3XX;Password=WNW3XX;InitCat=OLYMPIA;Default Schema=WNW3XX;PkgCol=WNW3XX;TPName=;Commit=YES;IsoLvl=NC;AccMode=;CCSID=37;PCCodePage=1252;BinAsChar=NO;Data Source=Olympia_WNW3XX'

EXEC sp_addlinkedsrvlogin 'WNW3XX', false, NULL, 'WNW3XX', 'WNW3XX'
Зверніть увагу, що:
  • DB2OLEDB постачальника, необхідно запустити в proc. Щоб увімкнути цей параметр:
    1. Запустіть Microsoft SQL Server Enterprise менеджера.
    2. У дереві консолі знайти вузол зв'язаний серверів, (в папці "безпека"). Клацніть правою кнопкою миші зв'язаний сервера, який створив вище а також у діалоговому вікні " Властивості ", перейдіть на вкладку загальні , а потім виберіть Параметрита натисніть, щоб увімкнути параметр Дозволити InProcess . Це єдиний спосіб, щоб активувати цей параметр, і після того, як було активовано для певного постачальника, параметр використовується для кожного наступного зв'язаного сервера, створені з використанням цього постачальника, зокрема ті, створені за допомогою сценарію-T-SQL.
  • Загальна довжина пов'язаний сервер-initstring, має бути не більше ніж 278 символів, тому вигідно використовувати DB2OLEDB короткий підключення рядок аргументів, як описано вище.
  • Зв'язаний серверів, використовуючи DB2OLEDB може бути налаштований підключитися через TCP/IP, хоча це свідчить про це за допомогою SNA APPC вище сценарію.

Зразок розповсюджені запити

Приклад вибір, використовуючи частину 4: LinkedServer.Catalog.Schema.Table
ВИБРАТИ * ЗІ WNW3XX. OLYMPIA. WNW3XX. ВІДДІЛУ

Наприклад, проходить через виберіть OpenQuery без УКАЗАННЯ за допомогою частину 3:
ВИБРАТИ * ЗІ OPENQUERY БЕЗ УКАЗАННЯ (WNW3XX, "SELECT * З ОЛІМПІЇ. WNW3XX. EMP_ACT")

Наприклад, проходить через виберіть використання OPENROWSET частина 2 ім'я:
ВИБРАТИ * ЗІ OPENROWSET
("DB2OLEDB", Netlib = SNA; NetAddr =; NetPort =; RemoteLU = Олімпія; LocalLU = місцевих; ModeName = QPCSUPP; Ідентифікатор = WNW3XX; Пароль = WNW3XX; InitCat = Олімпія; за промовчанням, схеми = WNW3XX; PkgCol = WNW3XX; TPName =; Здійснювати = YES; IsoLvl = NC; AccMode =; CCSID = 37; PCCodePage = 1252; BinAsChar = NO; Data Source = приклад ',
' ВИБРАТИ * ЗІ WNW3XX. СПІВРОБІТНИК ")

Приклад вставити допомогою частину 4:
ВСТАВТЕ У WNW3XX. OLYMPIA. WNW3XX. ВІДДІЛУ ЗНАЧЕННЯ.
("E21", "МАКЕТ", NULL, E01)

Зверніть увагу, що оновлення та видалення, використовуючи DQP, які не можна за допомогою DB2OLEDB, постачальника, який SNA версії 4.0 з пакетом оновлень 2 і пакет оновлень 3 для через відсутність підтримки для закладки, але вони працюють SNA 4.0 з пакетом оновлень 4 постачальника і постачальника, який саме h-розміщення сервер інтеграції. Щоб отримати додаткові відомості про це див. в такій статті бази знань Microsoft Knowledge Base:

287093 DB2OLEDB підтримує оновлення або видалення з зв'язаного сервера SQL Server
Приклад з'єднання між SQLServer та DB2 таблиці:
ВИБЕРІТЬ A.EMPLOYEE_NUMBER,B.ACTNO CORPDATA... EMPLOYEE_ACCOUNT WNW3XX. OLYMPIA. WNW3XX. EMP_ACT B ДЕ A.EMPLOYEE_NUMBER = B.EMPNO ПОРЯДОК A.EMPLOYEE_NUMBER