Kopiera data från DB2 med Hjälp av Azure Data Factory eller Synapse Analytics
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Den här artikeln beskriver hur du använder pipelines för kopieringsaktivitet i Azure Data Factory och Synapse Analytics för att kopiera data från en DB2-databas. Den bygger på översiktsartikeln för kopieringsaktivitet som visar en allmän översikt över kopieringsaktiviteten.
Funktioner som stöds
Den här DB2-anslutningsappen stöds för följande funktioner:
Funktioner som stöds | IR |
---|---|
Kopieringsaktivitet (källa/-) | (1) (2) |
Sökningsaktivitet | (1) (2) |
(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning
En lista över datalager som stöds som källor eller mottagare av kopieringsaktiviteten finns i tabellen Datalager som stöds.
Mer specifikt stöder den här DB2-anslutningsappen följande IBM DB2-plattformar och versioner med Distributed Relational Database Architecture (DRDA) SQL Access Manager (SQLAM) version 9, 10 och 11. Det använder DDM/DRDA-protokollet.
- IBM DB2 för z/OS 12.1
- IBM DB2 för z/OS 11.1
- IBM DB2 för i 7.3
- IBM DB2 för i 7.2
- IBM DB2 för i 7.1
- IBM DB2 för LUW 11
- IBM DB2 för LUW 10.5
- IBM DB2 för LUW 10.1
Förutsättningar
Om ditt datalager finns i ett lokalt nätverk, ett virtuellt Azure-nätverk eller Amazon Virtual Private Cloud måste du konfigurera en lokalt installerad integrationskörning för att ansluta till det.
Om ditt datalager är en hanterad molndatatjänst kan du använda Azure Integration Runtime. Om åtkomsten är begränsad till IP-adresser som är godkända i brandväggsreglerna kan du lägga till Azure Integration Runtime-IP-adresser i listan över tillåtna.
Du kan också använda funktionen för integrering av hanterade virtuella nätverk i Azure Data Factory för att få åtkomst till det lokala nätverket utan att installera och konfigurera en lokalt installerad integrationskörning.
Mer information om de nätverkssäkerhetsmekanismer och alternativ som stöds av Data Factory finns i Strategier för dataåtkomst.
Integration Runtime tillhandahåller en inbyggd DB2-drivrutin, därför behöver du inte installera någon drivrutin manuellt när du kopierar data från DB2.
Komma igång
Om du vill utföra kopieringsaktiviteten med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
Skapa en länkad tjänst till DB2 med hjälp av användargränssnittet
Använd följande steg för att skapa en länkad tjänst till DB2 i azure-portalens användargränssnitt.
Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:
Sök efter DB2 och välj DB2-anslutningsappen.
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för anslutningsprogram
Följande avsnitt innehåller information om egenskaper som används för att definiera Data Factory-entiteter som är specifika för DB2-anslutningsappen.
Länkade tjänstegenskaper
Följande egenskaper stöds för db2-länkad tjänst:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen måste anges till: Db2 | Ja |
connectionString | Ange information som behövs för att ansluta till DB2-instansen. Du kan också lägga till lösenord i Azure Key Vault och hämta konfigurationen password från niska veze. Mer information finns i följande exempel och artikeln Lagra autentiseringsuppgifter i Azure Key Vault . |
Ja |
connectVia | Integration Runtime som ska användas för att ansluta till datalagret. Läs mer i avsnittet Förutsättningar . Om den inte anges använder den standardkörningen för Azure-integrering. | Nej |
Typiska egenskaper i niska veze:
Property | Beskrivning | Obligatoriskt |
---|---|---|
server | Namnet på DB2-servern. Du kan ange portnumret efter servernamnet avgränsat med kolon, t.ex. server:port .DB2-anslutningsappen använder DDM/DRDA-protokollet och använder som standard port 50000 om den inte anges. Porten som din specifika DB2-databas använder kan vara annorlunda baserat på versionen och inställningarna, t.ex. för DB2 LUW är standardporten 50000, för AS400 är standardporten 446 eller 448 när TLS är aktiverat. Se följande DB2-dokument om hur porten vanligtvis konfigureras: DB2 z/OS, DB2 iSeries och DB2 LUW. |
Ja |
database | Namnet på DB2-databasen. | Ja |
authenticationType | Typ av autentisering som används för att ansluta till DB2-databasen. Tillåtet värde är: Basic. |
Ja |
användarnamn | Ange användarnamn för att ansluta till DB2-databasen. | Ja |
password | Ange lösenord för det användarkonto som du angav för användarnamnet. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till en hemlighet som lagras i Azure Key Vault. | Ja |
packageCollection | Ange under var de nödvändiga paketen skapas automatiskt av tjänsten när du kör frågor mot databasen. Om detta inte anges använder tjänsten {username} som standardvärde. | Nej |
certificateCommonName | När du använder kryptering med Secure Sockets Layer (SSL) eller TLS (Transport Layer Security) måste du ange ett värde för certifikatets gemensamma namn. | Nej |
Dricks
Om du får ett felmeddelande som anger The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805
är orsaken att ett nödvändigt paket inte har skapats för användaren. Som standard försöker tjänsten skapa paketet under samlingen med namnet som den användare som du använde för att ansluta till DB2. Ange den paketsamlingsegenskap som ska anges under var du vill att tjänsten ska skapa de paket som behövs när du frågar databasen. Om du inte kan fastställa paketsamlingens namn kan du försöka ange packageCollection=NULLID
.
Exempel:
{
"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"
}
}
}
Exempel: Lagra lösenord i 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"
}
}
}
Om du använder db2-länkad tjänst med följande nyttolast stöds den fortfarande som den är, medan du rekommenderas att använda den nya framöver.
Tidigare nyttolast:
{
"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"
}
}
}
Egenskaper för datauppsättning
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i artikeln datauppsättningar . Det här avsnittet innehåller en lista över egenskaper som stöds av DB2-datauppsättningen.
Följande egenskaper stöds för att kopiera data från DB2:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för datamängden måste anges till: Db2Table | Ja |
schema | Namnet på schemat. | Nej (om "fråga" i aktivitetskällan har angetts) |
table | Tabellens namn. | Nej (om "fråga" i aktivitetskällan har angetts) |
tableName | Namnet på tabellen med schemat. Den här egenskapen stöds för bakåtkompatibilitet. Använd schema och table för ny arbetsbelastning. |
Nej (om "fråga" i aktivitetskällan har angetts) |
Exempel
{
"name": "DB2Dataset",
"properties":
{
"type": "Db2Table",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<DB2 linked service name>",
"type": "LinkedServiceReference"
}
}
}
Om du använder RelationalTable
en typ av datauppsättning stöds den fortfarande i sin form, medan du rekommenderas att använda den nya framöver.
Kopiera egenskaper för aktivitet
En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i artikeln Pipelines . Det här avsnittet innehåller en lista över egenskaper som stöds av DB2-källan.
DB2 som källa
Om du vill kopiera data från DB2 stöds följande egenskaper i avsnittet kopieringsaktivitetskälla:
Property | Beskrivning | Obligatoriskt |
---|---|---|
type | Typegenskapen för kopieringsaktivitetskällan måste anges till: Db2Source | Ja |
query | Använd den anpassade SQL-frågan för att läsa data. Exempel: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"" . |
Nej (om "tableName" i datauppsättningen har angetts) |
Exempel:
"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>"
}
}
}
]
Om du använde RelationalSource
en typbaserad källa stöds den fortfarande som den är, medan du rekommenderas att använda den nya framöver.
Datatypsmappning för DB2
När du kopierar data från DB2 används följande mappningar från DB2-datatyper till mellanliggande datatyper som används internt i tjänsten. Se Schema- och datatypmappningar för att lära dig mer om hur kopieringsaktivitet mappar källschemat och datatypen till mottagaren.
Databastyp för DB2 | Datatyp för interimstjänst |
---|---|
BigInt | Int64 |
Binära | Byte[] |
Blob | Byte[] |
Char | String |
Clob | String |
Date | Datetime |
DB2DynArray | String |
DbClob | String |
Decimal | Decimal |
DecimalFloat | Decimal |
Dubbel | Dubbel |
Flyttal | Dubbel |
Grafisk | String |
Integer | Int32 |
LongVarBinary | Byte[] |
LongVarChar | String |
LongVarGraphic | String |
Numerisk | Decimal |
Real | Enstaka |
SmallInt | Int16 |
Tid | TimeSpan |
Tidsstämpel | Datum/tid |
VarBinary | Byte[] |
VarChar | String |
Vargraphic | String |
Xml | Byte[] |
Egenskaper för uppslagsaktivitet
Mer information om egenskaperna finns i Sökningsaktivitet.
Relaterat innehåll
En lista över datalager som stöds som källor och mottagare av kopieringsaktiviteten finns i datalager som stöds.