Udostępnij za pośrednictwem


Dostawca OLE DB dla DB2

The Microsoft OLE DB dostawca for DB2, distributed with Microsoft Host integracja Server, allows for SQL Server distributed queries to query data in DB2 databases.

Uwaga

Aby uzyskać informacje na temat instalowania i konfigurowania dostawca OLE DB zobacz w dokumentacji dostarczonej przez dostawca.

Aby utworzyć serwer połączony uzyskać dostęp do bazy danych DB2

  1. Zainstaluj oprogramowanie Host integracja Server klient na komputerze, na którym jest uruchomione wystąpienie SQL Server a następnie wybierz opcje do zainstalowania dostawca OLE DB dla DB2.

  2. Określa ciąg połączenia dostawca OLE DB dla DB2 wymaga, aby uzyskać dostęp do urządzenie źródłowe danych DB2, która ma być zbadana.Jest to najlepszy sposób określić ciąg połączenia do utworzenia pliku połączenia danych przy użyciu aplikacji Host integracja Server nowego OLE DB urządzenie źródłowe danych.Aby uzyskać więcej informacji, zobacz temat Microsoft Host integracja Server dokumentacji.

  3. wykonać sp_addlinkedserver do tworzenia serwer połączony, określając DB2OLEDB jako provider_name, nazwę katalogu DB2, który zawiera dane, do którego chcesz uzyskać dostęp jako catalog, a ciąg połączenia w kroku 2 jako provider_string.

    W poniższym przykładzie przedstawiono sposób użycia sp_addlinkedserver Aby utworzyć definicję serwer połączony, który uzyskuje dostęp do bazy danych 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'
    
  4. wykonać sp_addlinkedsrvlogin utworzyć mapowania identyfikatora logowania SQL Server logowania do logowania DB2.

    W następującym przykładzie polecenie mapuje SQL Server Identyfikator logowania SQLJoe do identyfikatora logowania DB2 DB2Joe:

    EXEC sp_addlinkedsrvlogin 'DB2SRV', false, 'SQLJoe', 'DB2Joe', 'x894jd03?'
    

    Uwaga

    Hasła będą przesyłane bez szyfrowania.Hasła mogą być widoczne w definicji urządzenie źródłowe danych i skrypty zapisane na dysku, wykonywanie kopii zapasowych i plików dziennika.Nigdy nie używaj hasła administratora w tego rodzaju połączenia.Skontaktuj się z administratorem sieci dla wskazówki dotyczące zabezpieczeń, specyficzne dla danego środowiska.

Po wykonaniu poprzednich kroków, można użyć nazwy serwer połączony DB2SRV jako nazwa serwera w nazwach four-part oraz jako linked_server w OPENQUERY Funkcja. Na przykład:

SELECT *
FROM DB2SRV.SEATTLE.WNW3XX.DEPARTMENT

Or

SELECT *
FROM OPENQUERY(DB2SRV, 'SELECT * FROM SEATTLE.WNW3XX.EMP_ACT')

Gdy kwerendami rozproszonymi w źródłach danych DB2 obejmują porównania wartości NULL, używać ISNULL lub IS NOT NULL, a nie operatory porównania, na przykład równości (=), większe niż)>), lub mniejsze niż ()< ). Ponadto instrukcji INSERT należy podać wartości dla wszystkich kolumn w tabela, nawet jeśli niektóre kolumny w tabela może być NULL lub wartości domyślne.