Udostępnij za pośrednictwem


Kopiowanie danych z bazy danych DB2 przy użyciu usługi Azure Data Factory lub Synapse Analytics

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym artykule opisano sposób używania działania kopiowania w potokach usługi Azure Data Factory i usługi Synapse Analytics do kopiowania danych z bazy danych DB2. Jest on oparty na artykule omówienie działania kopiowania, który przedstawia ogólne omówienie działania kopiowania.

Obsługiwane możliwości

Ten łącznik DB2 jest obsługiwany w przypadku następujących możliwości:

Obsługiwane możliwości IR
działanie Kopiuj (źródło/-) (1) (2)
Działanie Lookup (1) (2)

(1) Środowisko Azure Integration Runtime (2) Self-hosted Integration Runtime

Aby uzyskać listę magazynów danych obsługiwanych jako źródła lub ujścia przez działanie kopiowania, zobacz tabelę Obsługiwane magazyny danych.

W szczególności ten łącznik DB2 obsługuje następujące platformy i wersje IBM DB2 z rozproszoną architekturą relacyjnej bazy danych (DRDA) SQL Access Manager (SQLAM) w wersji 9, 10 i 11. Korzysta z protokołu DDM/DRDA.

  • IBM DB2 for z/OS 12.1
  • IBM DB2 for z/OS 11.1
  • IBM DB2 for i 7.3
  • IBM DB2 for i 7.2
  • IBM DB2 for i 7.1
  • IBM DB2 for LUW 11
  • IBM DB2 for LUW 10.5
  • IBM DB2 for LUW 10.1

Wymagania wstępne

Jeśli magazyn danych znajduje się wewnątrz sieci lokalnej, sieci wirtualnej platformy Azure lub chmury prywatnej Amazon Virtual, musisz skonfigurować własne środowisko Integration Runtime , aby się z nim połączyć.

Jeśli magazyn danych jest zarządzaną usługą danych w chmurze, możesz użyć środowiska Azure Integration Runtime. Jeśli dostęp jest ograniczony do adresów IP zatwierdzonych w regułach zapory, możesz dodać adresy IP środowiska Azure Integration Runtime do listy dozwolonych.

Możesz również użyć funkcji środowiska Integration Runtime zarządzanej sieci wirtualnej w usłudze Azure Data Factory, aby uzyskać dostęp do sieci lokalnej bez instalowania i konfigurowania własnego środowiska Integration Runtime.

Aby uzyskać więcej informacji na temat mechanizmów zabezpieczeń sieci i opcji obsługiwanych przez usługę Data Factory, zobacz Strategie dostępu do danych.

Środowisko Integration Runtime udostępnia wbudowany sterownik DB2, dlatego nie trzeba ręcznie instalować żadnego sterownika podczas kopiowania danych z bazy danych DB2.

Wprowadzenie

Aby wykonać działanie Kopiuj za pomocą potoku, możesz użyć jednego z następujących narzędzi lub zestawów SDK:

Tworzenie połączonej usługi z bazą danych DB2 przy użyciu interfejsu użytkownika

Wykonaj poniższe kroki, aby utworzyć połączoną usługę z bazą danych DB2 w interfejsie użytkownika witryny Azure Portal.

  1. Przejdź do karty Zarządzanie w obszarze roboczym usługi Azure Data Factory lub Synapse i wybierz pozycję Połączone usługi, a następnie kliknij pozycję Nowy:

  2. Wyszukaj ciąg DB2 i wybierz łącznik DB2.

    Zrzut ekranu przedstawiający łącznik DB2.

  3. Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.

    Zrzut ekranu przedstawiający połączoną konfigurację usługi dla bazy danych DB2.

Szczegóły konfiguracji łącznika

Poniższe sekcje zawierają szczegółowe informacje o właściwościach używanych do definiowania jednostek usługi Data Factory specyficznych dla łącznika DB2.

Właściwości połączonej usługi

Następujące właściwości są obsługiwane w przypadku połączonej usługi DB2:

Właściwości Opis Wymagania
type Właściwość type musi być ustawiona na: Db2 Tak
Parametry połączenia Określ informacje potrzebne do nawiązania połączenia z wystąpieniem bazy danych DB2.
Możesz również umieścić hasło w usłudze Azure Key Vault i ściągnąć konfigurację password z parametry połączenia. Zapoznaj się z poniższymi przykładami i artykułem Store credentials in Azure Key Vault (Przechowywanie poświadczeń w usłudze Azure Key Vault ), aby uzyskać więcej szczegółów.
Tak
connectVia Środowisko Integration Runtime do nawiązania połączenia z magazynem danych. Dowiedz się więcej w sekcji Wymagania wstępne . Jeśli nie zostanie określony, używa domyślnego środowiska Azure Integration Runtime. Nie.

Typowe właściwości wewnątrz parametry połączenia:

Właściwości Opis Wymagania
serwer Nazwa serwera DB2. Numer portu można określić zgodnie z nazwą serwera rozdzielaną dwukropkiem, np. server:port.
Łącznik DB2 korzysta z protokołu DDM/DRDA, a domyślnie używa portu 50000, jeśli nie zostanie określony. Port używany przez określoną bazę danych DB2 może różnić się w zależności od wersji i ustawień, np. w przypadku usługi DB2 LUW domyślny port to 50000, dla usługi AS400 domyślny port to 446 lub 448, gdy protokół TLS jest włączony. Zapoznaj się z następującymi dokumentami DB2 dotyczącymi typowego konfigurowania portu: DB2 z/OS, DB2 iSeries i DB2 LUW.
Tak
database Nazwa bazy danych DB2. Tak
authenticationType Typ uwierzytelniania używanego do nawiązywania połączenia z bazą danych DB2.
Dozwolona wartość to: Podstawowa.
Tak
nazwa użytkownika Określ nazwę użytkownika, aby nawiązać połączenie z bazą danych DB2. Tak
hasło Określ hasło dla konta użytkownika określonego dla nazwy użytkownika. Oznacz to pole jako element SecureString w celu bezpiecznego przechowywania go lub odwołuj się do wpisu tajnego przechowywanego w usłudze Azure Key Vault. Tak
packageCollection Określ, gdzie wymagane pakiety są tworzone automatycznie przez usługę podczas wykonywania zapytań względem bazy danych. Jeśli ta wartość nie jest ustawiona, usługa używa nazwy użytkownika {username} jako wartości domyślnej. Nie.
certificateCommonName W przypadku korzystania z szyfrowania Secure Sockets Layer (SSL) lub Transport Layer Security (TLS) należy wprowadzić wartość nazwy pospolitej certyfikatu. Nie.

Napiwek

Jeśli zostanie wyświetlony komunikat o błędzie informujący o tym, że The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805przyczyną jest brak utworzenia pakietu wymaganego dla użytkownika. Domyślnie usługa spróbuje utworzyć pakiet w kolekcji o nazwie jako użytkownik użyty do nawiązania połączenia z bazą danych DB2. Określ właściwość kolekcji pakietów, która ma wskazywać miejsce, w którym usługa ma utworzyć wymagane pakiety podczas wykonywania zapytań względem bazy danych. Jeśli nie możesz określić nazwy kolekcji pakietów, spróbuj ustawić wartość packageCollection=NULLID.

Przykład:

{
    "name": "Db2LinkedService",
    "properties": {
        "type": "Db2",
        "typeProperties": {
            "connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;password=<password>;packageCollection=<packagecollection>;certificateCommonName=<certname>;"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Przykład: przechowywanie hasła w usłudze Azure Key Vault

{
    "name": "Db2LinkedService",
    "properties": {
        "type": "Db2",
        "typeProperties": {
            "connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;packageCollection=<packagecollection>;certificateCommonName=<certname>;",
            "password": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Jeśli używasz połączonej usługi DB2 z następującym ładunkiem, nadal jest obsługiwana zgodnie z rzeczywistym użyciem, podczas gdy zaleca się użycie nowej usługi w przyszłości.

Poprzedni ładunek:

{
    "name": "Db2LinkedService",
    "properties": {
        "type": "Db2",
        "typeProperties": {
            "server": "<servername:port>",
            "database": "<dbname>",
            "authenticationType": "Basic",
            "username": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Właściwości zestawu danych

Pełna lista sekcji i właściwości dostępnych do definiowania zestawów danych znajduje się w artykule dotyczącym zestawów danych. Ta sekcja zawiera listę właściwości obsługiwanych przez zestaw danych DB2.

Aby skopiować dane z bazy danych DB2, obsługiwane są następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type zestawu danych musi być ustawiona na: Db2Table Tak
schema Nazwa schematu. Nie (jeśli określono "zapytanie" w źródle działania)
table Nazwa tabeli. Nie (jeśli określono "zapytanie" w źródle działania)
tableName Nazwa tabeli ze schematem. Ta właściwość jest obsługiwana w celu zapewnienia zgodności z poprzednimi wersjami. Użyj polecenia schema i table dla nowego obciążenia. Nie (jeśli określono "zapytanie" w źródle działania)

Przykład

{
    "name": "DB2Dataset",
    "properties":
    {
        "type": "Db2Table",
        "typeProperties": {},
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<DB2 linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Jeśli używasz RelationalTable wpisanego zestawu danych, nadal jest on obsługiwany w stanie rzeczywistym, podczas gdy zaleca się korzystanie z nowego zestawu danych w przyszłości.

Właściwości działania kopiowania

Aby uzyskać pełną listę sekcji i właściwości dostępnych do definiowania działań, zobacz artykuł Pipelines (Potoki ). Ta sekcja zawiera listę właściwości obsługiwanych przez źródło DB2.

DB2 jako źródło

Aby skopiować dane z bazy danych DB2, w sekcji źródła działania kopiowania są obsługiwane następujące właściwości:

Właściwości Opis Wymagania
type Właściwość type źródła działania kopiowania musi być ustawiona na: Db2Source Tak
zapytanie Użyj niestandardowego zapytania SQL, aby odczytać dane. Na przykład: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". Nie (jeśli określono "tableName" w zestawie danych)

Przykład:

"activities":[
    {
        "name": "CopyFromDB2",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<DB2 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "Db2Source",
                "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\""
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Jeśli używasz RelationalSource wpisanego źródła, nadal jest obsługiwana w taki sposób, jak jest, podczas gdy sugerowane jest użycie nowego źródła w przyszłości.

Mapowanie typów danych dla bazy danych DB2

Podczas kopiowania danych z bazy danych DB2 następujące mapowania są używane z typów danych DB2 do tymczasowych typów danych używanych wewnętrznie w usłudze. Zobacz Mapowania schematu i typu danych, aby dowiedzieć się, jak działanie kopiowania mapuje schemat źródłowy i typ danych na ujście.

Typ bazy danych DB2 Typ danych usługi tymczasowej
BigInt Int64
Plik binarny Bajt[]
Obiekt blob Bajt[]
Char String
Klonowanie String
Date Datetime
DB2DynArray String
DbClob String
Dziesiętne Dziesiętne
Liczba dziesiętna Dziesiętne
Liczba rzeczywista Liczba rzeczywista
Liczba zmiennoprzecinkowa Liczba rzeczywista
Graficzny String
Liczba całkowita Int32
LongVarBinary Bajt[]
LongVarChar String
LongVarGraphic String
Liczbowe Dziesiętne
Rzeczywista Pojedynczy
SmallInt Int16
Czas przedział_czasu
Sygnatura czasowa DateTime
VarBinary Bajt[]
VarChar String
VarGraphic String
XML Bajt[]

Właściwości działania wyszukiwania

Aby dowiedzieć się więcej o właściwościach, sprawdź działanie Wyszukiwania.

Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.