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/-) | (1) (2) |
Activiteit Lookup | (1) (2) |
(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:
- Het hulpprogramma voor het kopiëren van gegevens
- Azure Portal
- De .NET-SDK
- De Python-SDK
- Azure PowerShell
- De REST API
- Een Azure Resource Manager-sjabloon
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.
Blader naar het tabblad Beheren in uw Azure Data Factory- of Synapse-werkruimte en selecteer Gekoppelde services en klik vervolgens op Nieuw:
Zoek db2 en selecteer de DB2-connector.
Configureer de servicedetails, test de verbinding en maak de nieuwe gekoppelde service.
Configuratiedetails van connector
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=-805
wordt 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 |
Grafisch | 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.
Gerelateerde inhoud
Zie ondersteunde gegevensarchieven voor een lijst met gegevensarchieven die worden ondersteund als bronnen en sinks door de kopieeractiviteit.