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:
- Narzędzie do kopiowania danych
- Witryna Azure Portal
- Zestaw SDK platformy .NET
- Zestaw SDK języka Python
- Azure PowerShell
- Interfejs API REST
- Szablon usługi Azure Resource Manager
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.
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:
Wyszukaj ciąg DB2 i wybierz łącznik DB2.
Skonfiguruj szczegóły usługi, przetestuj połączenie i utwórz nową połączoną usługę.
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=-805
przyczyną 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.
Powiązana zawartość
Aby uzyskać listę magazynów danych obsługiwanych jako źródła i ujścia działania kopiowania, zobacz obsługiwane magazyny danych.