Subskrybenci programu IBM DB2

Microsoft SQL Server obsługuje wypychanie subskrypcji do 400 DB2/AS IBM DB2/MVS i bazy danych DB2/uniwersalnego za pośrednictwem dostawcy OLE DB, które są dołączone do Microsoft Host integracja Server.

Konfigurowanie subskrybent programu IBM DB2

Aby skonfigurować IBM DB2 subskrybent, wykonaj następujące kroki:

  1. Zainstaluj najnowszą wersja Microsoft Dostawca OLE DB dla DB2 na dystrybutor:

    • W przypadku korzystania z SQL Server 2008 Enterprise, na Pobieranie programu SQL Server 2008 strona sieci Web, w Powiązane pliki do pobrania sekcji, kliknij łącze do najnowszej wersja Microsoft SQL Server 2008 Feature Pack.Na Microsoft SQL Server 2008 Feature Pack strona sieci Web, Wyszukaj Dostawca Microsoft OLE DB dla DB2.

    • W przypadku korzystania z SQL Server 2008 Standardowe, zainstaluj najnowszą wersja Microsoft Host Integration Services (HIS) serwera, który zawiera dostawca.

    Oprócz zainstalowania dostawca, zaleca się zainstalowanie Narzędzie Access danych jest używany w następnym kroku (to jest instalowany domyślnie z pobrania dla SQL Server 2008 Flaga). Aby uzyskać więcej informacji na temat instalowania i używania narzędzie dostępu do danych zobacz dokumentację dostawca lub dokumentacji HIS.

  2. Utworzyć ciąg połączenia dla subskrybent.Ciąg połączenia można tworzyć w dowolnym edytorze tekstu, ale firma Microsoft zaleca użycie narzędzie dostępu do danych.Aby utworzyć ciąg znaków za pomocą narzędzie dostępu do danych:

    1. Kliknij przycisk Rozpocznij, Programy, Dostawca Microsoft OLE DB dla DB2, and then narzędzie dostępu do danych.

    2. W narzędzie dostępu do danych, postępuj zgodnie z instrukcjami, aby dostarczyć informacje o serwerze DB2.Po zakończeniu tego narzędzie, tworzone jest połączenie danych uniwersalnej (UDL) z ciągiem skojarzonych z połączeniami (the UDL nie jest aktualnie używany przez replikacja, ale jest to ciąg połączenia).

    3. Dostęp do ciąg połączenia: Kliknij prawym przyciskiem myszy UDL w narzędziu dostępu do danych i wybierz polecenie Ciąg połączenia wyświetlania.

    Ciąg połączenia będą podobne do dla czytelność są podziały wiersza ():

    Provider=DB2OLEDB;Initial Catalog=MY_SUBSCRIBER_DB;Network Transport Library=TCP;Host CCSID=1252;
    PC Code Page=1252;Network Address=MY_SUBSCRIBER;Network Port=50000;Package Collection=MY_PKGCOL;
    Default Schema=MY_SCHEMA;Process Binary as Character=False;Units of Work=RUW;DBMS Platform=DB2/NT;
    Persist Security Info=False;Connection Pooling=True;
    

    Większość opcji w ciąg są specyficzne dla serwera DB2, konfigurując, ale Process Binary as Character Opcja powinna być zawsze ustawione na False. Wartość jest wymagana dla Initial Catalog Opcja do identyfikowania baza danych subskrypcja. Ciąg połączenia zostanie wprowadzona w Kreatorze nowej subskrypcja, podczas tworzenia subskrypcja.

  3. Tworzenie publikacja migawka lub transakcyjnych, włącz go dla nie-SQL Server Subskrybenci, a następnie utworzyć subskrypcja wypychana dla subskrybent. Aby uzyskać więcej informacji, zobacz:

  4. Opcjonalnie można określić skrypt tworzenia niestandardowych dla jednego lub więcej artykułów.Po opublikowaniu tabela skryptu CREATE tabela jest tworzony dla tej tabela.Dla innych niż-SQL Server Subskrybenci, skrypt jest tworzony w Transact-SQL Dialekt, a następnie przelicza się do bardziej ogólnych dialekt SQL przez agenta dystrybucji przed stosowany przez subskrybent. Aby określić skrypt tworzenia niestandardowych, albo zmodyfikować istniejący Transact-SQL skrypt lub utworzyć pełną skrypt, który używa dialekt DB2 SQL; Jeśli skrypt DB2 została utworzona, należy użyć bypass_translation dyrektywa tak, że Agent dystrybucji stosuje się skrypt subskrybent bez tłumaczenia.

    Skrypty mogą być modyfikowane z różnych powodów, jednak najbardziej typowe przyczyny jest do zmiany mapowania typów danych.Aby uzyskać więcej informacji zobacz sekcję "Dane typu mapowania zagadnienia" w tym temacie.Jeśli modyfikujesz Transact-SQL skrypt, zmiany muszą być ograniczone do zmiany mapowania typu danych (i skrypt nie powinien zawierać komentarze). Jeżeli wymagane są bardziej istotne zmiany, należy utworzyć skrypt DB2.

    Aby zmodyfikować skrypcie artykuł i dostarczać go jako skrypt tworzenia niestandardowych

    1. Po migawka został wygenerowany w publikacja, przejdź do folderu migawka dla publikacja.

    2. Zlokalizuj plik .sch z taką samą nazwę jak artykuł, takie jak MyArticle.sch.

    3. Otwórz ten plik przy użyciu Notatnika lub innego edytora tekstów.

    4. Należy zmodyfikować plik i zapisz go do innego katalogu.

    5. Wykonać sp_changearticle określający ścieżka pliku, a nazwa creation_script Właściwość. Aby uzyskać więcej informacji zobacz sp_changearticle (języka Transact-SQL).

    Aby utworzyć skrypcie artykuł i dostarczyć go jako skrypt tworzenia niestandardowych

    1. Tworzenie skryptu programu artykuł przy użyciu dialekt DB2 SQL.Upewnij się, jest pierwszy wiersz pliku bypass_translation, z nic poza w wierszu.

    2. Wykonać sp_changearticle określający ścieżka pliku, a nazwa creation_script Właściwość.

Uwagi dotyczące programu IBM DB2 subskrybentów

Oprócz zagadnienia, opisane w temacie -SQL Server subskrybentów, podczas replikowania do subskrybentów DB2, wziąć pod uwagę następujące kwestie:

  • Dane i indeksy dla każdej zreplikowanej tabela są przypisywane do obszar tabel DB2.Rozmiar strona obszar tabel DB2 określa maksymalną liczbę kolumn i rozmiar maksymalny wiersza z tabel należących do obszar tabel.Upewnij się, że obszar tabel, skojarzone z zreplikowanych tabelach odpowiednie na podstawie liczby kolumn replikowane i rozmiar maksymalny wiersza z tabel.

  • Nie opublikować tabel do subskrybentów DB2 stosowaniu replikacja transakcyjnej, jeśli jeden lub więcej kolumny klucz podstawowy w tabela jest typu danych DECIMAL (32-38 0 38) lub NUMERIC (32-38 0 38).Może to doprowadzić do awarii, ponieważ te typy danych są mapowane na VARCHAR(41) subskrybent replikacja transakcyjnej identyfikuje wierszy przy użyciu klucz podstawowy.Tabele z kluczy podstawowych, które używają tych typów danych mogą być publikowane za pomocą replikacja migawka.

  • Jeśli chcesz pre-create tabel przez subskrybent, zamiast replikacja je utworzyć, należy użyć replikacja obsługuje tylko opcję.Aby uzyskać więcej informacji zobacz Inicjowanie transakcji subskrypcja bez migawka.

  • SQL Server pozwala na dłuższe nazwy tabela i kolumna nazw niż DB2:

Mapowanie typów danych z serwera SQL do programu IBM DB2

W poniższej tabela przedstawiono mapowania typów danych, które są używane, gdy dane są replikowane do subskrybent systemem IBM DB2.

Typ danych programu SQL Server

Typ danych IBM DB2

bigint

DZIESIĘTNE(19,0)

binary(1-254)

CHAR(1-254) BITÓW DANYCH

binary(255-8000)

VARCHAR(255-8000) BITÓW DANYCH

bit

SMALLINT

char(1-254)

CHAR(1-254)

char(255-8000)

VARCHAR(255-8000)

date

DATA

datetime

SYGNATURA CZASOWA

datetime2(0-7)

VARCHAR(27)

datetimeoffset(0-7)

VARCHAR(34)

decimal(1-31, 0-31)

DZIESIĘTNEGO (1-31, 0-31)

decimal(32-38, 0-38)

VARCHAR(41)

float(53)

PODWÓJNE

float

ZMIENNOPRZ

geography

OBRAZ

geometry

OBRAZ

hierarchyid

OBRAZ

image

VARCHAR(0) BITÓW DANYCH1

into

ZAOKR.DO.CAŁK

money

DZIESIĘTNE(19,4)

nchar(1-4000)

VARCHAR(1-4000)

ntext

VARCHAR(0)1

numeric(1-31, 0-31)

DECIMAL(1-31,0-31)

numeric(32-38, 0-38)

VARCHAR(41)

nvarchar(1-4000)

VARCHAR(1-4000)

nvarchar(max)

VARCHAR(0)1

real

RZECZYWISTE

smalldatetime

SYGNATURA CZASOWA

smallint

SMALLINT

smallmoney

DZIESIĘTNE(10,4)

sql_variant

NIE DOTYCZY

sysname

VARCHAR(128)

text

VARCHAR(0)1

time(0-7)

VARCHAR(16)

timestamp

CHAR(8) BITÓW DANYCH

tinyint

SMALLINT

uniqueidentifier

CHAR(38)

varbinary(1-8000)

VARCHAR(1-8000) BITÓW DANYCH

varchar(1-8000)

VARCHAR(1-8000)

varbinary(max)

VARCHAR(0) BITÓW DANYCH1

varchar(max)

VARCHAR(0)1

xml

VARCHAR(0)1

1 Zobacz następną sekcję, aby uzyskać więcej informacji na temat mapowań VARCHAR(0).

Uwagi dotyczące mapowania typu danych

Podczas replikowania do subskrybentów DB2, należy wziąć pod uwagę następujące zagadnienia mapowania typów danych:

  • When mapping SQL Serverchar, varchar, binary and varbinary to DB2 CHAR, VARCHAR, CHAR FOR BIT DATA, and VARCHAR FOR BIT DATA, respectively, replication sets the length of the DB2 data type to be the same as that of the SQL Server type.

    Dzięki temu wygenerowanych tabela ma być utworzone pomyślnie przez subskrybent, tak długo, jak DB2 ograniczenie rozmiaru strona jest wystarczająco duża, aby uwzględnić wszystkie zdarzenia maksymalny rozmiar wiersza.Upewnij się, że identyfikator logowania, umożliwiające dostęp do bazy danych DB2 ma uprawnienia dostępu spacje tabela o wystarczającej wielkości dla tabel, które są replikowane do DB2.

  • DB2 może obsługiwać VARCHAR kolumn tak duży, jak 32 kilobajty (KB); dlatego jest możliwe że niektóre SQL Server kolumny dużego obiektu mogą być mapowane odpowiednio do kolumn DB2 VARCHAR. Jednak dostawca OLE DB używa replikacja dla DB2 nie obsługuje mapowania SQL Server duże obiekty do dużych obiektów DB2. For this reason, SQL Servertext, varchar(max), ntext, and nvarchar(max) columns are mapped to VARCHAR(0) in the generated create scripts.Długość wartości 0 musi zostać zmieniona na odpowiednią wartość przed stosowanie skryptu do subskrybent.Jeśli długość typ danych nie zostanie zmieniona, DB2 podniesie 604 błąd podczas tworzenia tabela jest podejmowana próba nawiązania przez subskrybent DB2 (błąd 604 wskazuje, że precyzji lub długość atrybut typu danych nie jest prawidłowy).

    Na podstawie wiedza użytkownika z tabela źródłowej, który jest replikowana, określić, czy jest odpowiedni do mapowania SQL Server duże obiektu na element o zmiennej długości DB2 i określ o długości maksymalnej odpowiednie w skrypcie tworzenia niestandardowych. Aby uzyskać informacje dotyczące określania skryptu tworzenia niestandardowych zobacz krok 5 w sekcji "" configuring an IBM DB2 subskrybent"w tym temacie.

    Uwaga

    Określona długość dla typu DB2, w połączeniu z innymi długości kolumna nie może przekraczać rozmiaru maksymalnej wiersza na podstawie obszaru tabel DB2 przypisane do dane w tabela.

    Jeśli brak odpowiedniego mapowania dla kolumna dużego obiektu, warto rozważyć użycie kolumna filtrowane artykuł, aby kolumna nie są replikowane.Aby uzyskać więcej informacji zobacz Filtrowanie opublikowane dane.

  • When replicating SQL Servernchar and nvarchar to DB2 CHAR and VARCHAR, replication uses the same length-specifier for the DB2 type as for the SQL Server type.Jednak w wygenerowanym tabela DB2 długość typ danych może za mały.

    In some DB2 environments, a SQL Serverchar data item is not restricted to single-byte characters; the length of a CHAR or VARCHAR item must take this into account.Można także należy wziąć pod uwagę Przesunięcie w and Zmiana wyjściowego znaków, jeśli są one potrzebne.Jeśli jest replikowana tabel z nchar i nvarchar kolumny, konieczne może być określić większy maksymalna długość dla typu danych w skrypcie tworzenia niestandardowych. Aby uzyskać informacje dotyczące określania skryptu tworzenia niestandardowych zobacz krok 5 w sekcji "" configuring an IBM DB2 subskrybent"w tym temacie.

Historia zmian

Microsoft Learning

Clarified the procedure for obtaining the Microsoft OLE DB Provider for DB2 from the Microsoft SQL Server 2008 Feature Pack Web page.

Dodaje nowy SQL Server 2008 typy danych.