Gegevens kopiëren uit DB2 met behulp van Azure Data Factory of Synapse Analytics

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

In dit artikel wordt beschreven hoe u de kopieeractiviteit in Azure Data Factory- en Synapse Analytics-pijplijnen gebruikt om gegevens uit een DB2-database te kopiëren. Het is gebaseerd op het artikel over het overzicht van kopieeractiviteiten met een algemeen overzicht van de kopieeractiviteit.

Ondersteunde mogelijkheden

Deze DB2-connector wordt ondersteund voor de volgende mogelijkheden:

Ondersteunde mogelijkheden IR
Copy-activiteit (bron/-) ① ②
Activiteit Lookup ① ②

(1) Azure Integration Runtime (2) Zelf-hostende Integration Runtime

Zie de tabel Ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen of sinks door de kopieeractiviteit.

Deze DB2-connector ondersteunt met name de volgende IBM DB2-platformen en -versies met DRDA (Distributed Relational Database Architecture) SQL Access Manager (SQLAM) versie 9, 10 en 11. Het maakt gebruik van het DDM/DRDA-protocol.

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

Vereisten

Als uw gegevensarchief zich in een on-premises netwerk, een virtueel Azure-netwerk of een virtuele particuliere cloud van Amazon bevindt, moet u een zelf-hostende Integration Runtime configureren om er verbinding mee te maken.

Als uw gegevensarchief een beheerde cloudgegevensservice is, kunt u De Azure Integration Runtime gebruiken. Als de toegang is beperkt tot IP-adressen die zijn goedgekeurd in de firewallregels, kunt u IP-adressen van Azure Integration Runtime toevoegen aan de acceptatielijst.

U kunt ook de beheerde functie voor integratieruntime voor virtuele netwerken in Azure Data Factory gebruiken om toegang te krijgen tot het on-premises netwerk zonder een zelf-hostende Integration Runtime te installeren en te configureren.

Zie Strategieën voor gegevenstoegang voor meer informatie over de netwerkbeveiligingsmechanismen en -opties die door Data Factory worden ondersteund.

Integration Runtime biedt een ingebouwd DB2-stuurprogramma, dus u hoeft geen stuurprogramma handmatig te installeren bij het kopiëren van gegevens uit DB2.

Aan de slag

Als u de kopieeractiviteit wilt uitvoeren met een pijplijn, kunt u een van de volgende hulpprogramma's of SDK's gebruiken:

Een gekoppelde service maken met DB2 met behulp van de gebruikersinterface

Gebruik de volgende stappen om een gekoppelde service te maken voor DB2 in de gebruikersinterface van Azure Portal.

  1. Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:

  2. Zoek db2 en selecteer de DB2-connector.

    Screenshot of the DB2 connector.

  3. Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.

    Screenshot of linked service configuration for DB2.

configuratiedetails Verbinding maken or

De volgende secties bevatten details over eigenschappen die worden gebruikt voor het definiëren van Data Factory-entiteiten die specifiek zijn voor db2-connector.

Eigenschappen van gekoppelde service

De volgende eigenschappen worden ondersteund voor de gekoppelde DB2-service:

Eigenschappen Beschrijving Vereist
type De eigenschap type moet worden ingesteld op: Db2 Ja
connectionString Geef informatie op die nodig is om verbinding te maken met het DB2-exemplaar.
U kunt ook een wachtwoord in Azure Key Vault plaatsen en de password configuratie uit de verbindingsreeks halen. Raadpleeg de volgende voorbeelden en sla referenties op in het Artikel over Azure Key Vault met meer informatie.
Ja
connectVia De Integration Runtime die moet worden gebruikt om verbinding te maken met het gegevensarchief. Meer informatie vindt u in de sectie Vereisten . Als dit niet is opgegeven, wordt de standaard Azure Integration Runtime gebruikt. Nee

Typische eigenschappen in de verbindingsreeks:

Eigenschappen Beschrijving Vereist
server Naam van de DB2-server. U kunt het poortnummer opgeven na de servernaam gescheiden door dubbele punt, bijvoorbeeld server:port.
De DB2-connector maakt gebruik van het DDM/DRDA-protocol en gebruikt standaard poort 50000 als dit niet is opgegeven. De poort die uw specifieke DB2-database gebruikt, kan afwijken op basis van de versie en uw instellingen, bijvoorbeeld voor DB2 LUW, de standaardpoort is 50000, voor AS400 is de standaardpoort 446 of 448 wanneer TLS is ingeschakeld. Raadpleeg de volgende DB2-documenten over de configuratie van de poort: DB2 z/OS, DB2 iSeries en DB2 LUW.
Ja
database Naam van de DB2-database. Ja
authenticationType Type verificatie dat wordt gebruikt om verbinding te maken met de DB2-database.
Toegestane waarde is: Basic.
Ja
gebruikersnaam Geef de gebruikersnaam op om verbinding te maken met de DB2-database. Ja
password Geef het wachtwoord op voor het gebruikersaccount dat u hebt opgegeven voor de gebruikersnaam. Markeer dit veld als SecureString om het veilig op te slaan of verwijs naar een geheim dat is opgeslagen in Azure Key Vault. Ja
packageCollection Geef op onder waar de benodigde pakketten automatisch door de service worden gemaakt bij het uitvoeren van query's op de database. Als dit niet is ingesteld, gebruikt de service de {username} als de standaardwaarde. Nee
certificateCommonName Wanneer u SSL-versleuteling (Secure Sockets Layer) of TLS (Transport Layer Security) gebruikt, moet u een waarde invoeren voor de algemene naam van het certificaat. Nee

Tip

Als er een foutbericht wordt weergegeven, The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805wordt er geen pakket gemaakt dat nodig is voor de gebruiker. Standaard probeert de service het pakket te maken onder de verzameling met de naam van de gebruiker die u hebt gebruikt om verbinding te maken met de DB2. Geef de eigenschap van de pakketverzameling op om aan te geven waar u wilt dat de service de benodigde pakketten maakt bij het uitvoeren van query's op de database. Als u de naam van de pakketverzameling niet kunt bepalen, probeert u het in te stellen packageCollection=NULLID.

Voorbeeld:

{
    "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"
        }
    }
}

Voorbeeld: wachtwoord opslaan in 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"
        }
    }
}

Als u de gekoppelde DB2-service met de volgende nettolading gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe service in de toekomst te gebruiken.

Vorige nettolading:

{
    "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"
        }
    }
}

Eigenschappen van gegevensset

Zie het artikel gegevenssets voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van gegevenssets . Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de DB2-gegevensset.

Als u gegevens uit DB2 wilt kopiëren, worden de volgende eigenschappen ondersteund:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de gegevensset moet worden ingesteld op: Db2Table Ja
schema Naam van het schema. Nee (als 'query' in de activiteitsbron is opgegeven)
table Naam van de tabel. Nee (als 'query' in de activiteitsbron is opgegeven)
tableName Naam van de tabel met schema. Deze eigenschap wordt ondersteund voor compatibiliteit met eerdere versies. Gebruik schema en table voor nieuwe workload. Nee (als 'query' in de activiteitsbron is opgegeven)

Voorbeeld

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

Als u RelationalTable getypte gegevensset gebruikt, wordt deze nog steeds ondersteund terwijl u wordt aangeraden de nieuwe gegevensset te gebruiken.

Eigenschappen van de kopieeractiviteit

Zie het artikel Pijplijnen voor een volledige lijst met secties en eigenschappen die beschikbaar zijn voor het definiëren van activiteiten. Deze sectie bevat een lijst met eigenschappen die worden ondersteund door de DB2-bron.

DB2 als bron

Als u gegevens uit DB2 wilt kopiëren, worden de volgende eigenschappen ondersteund in de sectie bron van de kopieeractiviteit:

Eigenschappen Beschrijving Vereist
type De typeeigenschap van de bron van de kopieeractiviteit moet worden ingesteld op: Db2Source Ja
query Gebruik de aangepaste SQL-query om gegevens te lezen. Voorbeeld: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". Nee (als 'tableName' in de gegevensset is opgegeven)

Voorbeeld:

"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>"
            }
        }
    }
]

Als u RelationalSource getypte bron gebruikt, wordt deze nog steeds ondersteund, terwijl u wordt aangeraden de nieuwe bron te gebruiken.

Toewijzing van gegevenstypen voor DB2

Bij het kopiëren van gegevens uit DB2 worden de volgende toewijzingen gebruikt van DB2-gegevenstypen naar tussentijdse gegevenstypen die intern in de service worden gebruikt. Zie Schema- en gegevenstypetoewijzingen voor meer informatie over hoe kopieeractiviteit het bronschema en het gegevenstype toewijst aan de sink.

DB2-databasetype Tussentijdse servicegegevenstype
BigInt Int64
Binary Byte[]
Blob Byte[]
Char String
Clob String
Datum Datum/tijd
DB2DynArray String
DbClob String
Decimal Decimal
DecimalFloat Decimal
Dubbel Dubbel
Float Dubbel
Grafische String
Geheel getal Int32
LongVarBinary Byte[]
LongVarChar String
LongVarGraphic String
Numeriek Decimal
Real Eén
Smallint Int16
Tijd TimeSpan
Tijdstempel Datum en tijd
VarBinary Byte[]
Varchar String
VarGraphic String
Xml Byte[]

Eigenschappen van opzoekactiviteit

Als u meer wilt weten over de eigenschappen, controleert u de lookup-activiteit.

Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.