Menyalin data dari DB2 menggunakan Azure Data Factory atau Synapse Analytics

BERLAKU UNTUK:Azure Data Factory Azure Synapse Analytics

Tip

Cobalah Data Factory di Microsoft Fabric, solusi analitik all-in-one untuk perusahaan. Microsoft Fabric mencakup semuanya mulai dari pergerakan data hingga ilmu data, analitik real time, kecerdasan bisnis, dan pelaporan. Pelajari cara memulai uji coba baru secara gratis!

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory atau Azure Synapse Analytics untuk menyalin data dari database DB2. Artikel tersebut dibuat berdasarkan artikel gambaran umum aktivitas salin yang menyajikan gambaran umum aktivitas salin.

Kemampuan yang didukung

Konektor DB2 ini didukung untuk kemampuan berikut ini:

Kemampuan yang didukung IR
Aktivitas penyalinan (sumber/-) ① ②
Aktivitas pencarian ① ②

① Runtime integrasi Azure ② Runtime integrasi yang dihost sendiri

Untuk daftar penyimpanan data yang didukung sebagai sumber atau sink oleh aktivitas salin, lihat tabel Penyimpanan data yang didukung.

Secara khusus, konektor DB2 ini mendukung platform dan versi IBM DB2 berikut dengan Arsitektur Basis Data Relasional Terdistribusi (DRDA) SQL Access Manager (SQLAM) versi 9, 10 dan 11. Ini menggunakan protokol DDM/DRDA.

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

Prasyarat

Jika penyimpanan data Anda terletak di dalam jaringan lokal, jaringan virtual Azure, atau Amazon Virtual Private Cloud, Anda harus mengonfigurasi runtime integrasi yang dihosting sendiri untuk menghubungkannya.

Jika penyimpanan data Anda adalah layanan data cloud terkelola, Anda dapat menggunakan Azure Integration Runtime. Jika akses dibatasi untuk IP yang disetujui dalam aturan firewall, Anda dapat menambahkan IP Azure Integration Runtime ke daftar izinkan.

Anda juga dapat menggunakan fitur runtime integrasi jaringan virtual terkelola di Azure Data Factory untuk mengakses jaringan lokal tanpa menginstal dan mengonfigurasi runtime integrasi yang dihosting sendiri.

Untuk informasi selengkapnya tentang mekanisme dan opsi keamanan jaringan yang didukung oleh Data Factory, lihat Strategi akses data.

Integration Runtime menyediakan driver DB2 bawaan, oleh karena itu Anda tidak perlu menginstal driver apa pun secara manual saat menyalin data dari DB2.

Memulai

Untuk melakukan aktivitas Salin dengan alur, Anda dapat menggunakan salah satu alat atau SDK berikut:

Buat layanan tertaut ke DB2 menggunakan Antarmuka Pengguna

Gunakan langkah-langkah berikut untuk membuat layanan tertaut ke DB2 di antarmuka pengguna portal Microsoft Azure.

  1. Telusuri ke tab Kelola di ruang kerja Azure Data Factory atau Synapse Anda dan pilih Layanan Tertaut, lalu klik Baru:

  2. Cari DB2 dan pilih konektor DB2.

    Screenshot of the DB2 connector.

  3. Konfigurasikan detail layanan, uji koneksi, dan buat layanan tertaut baru.

    Screenshot of linked service configuration for DB2.

Detail konfigurasi konektor

Bagian berikut ini menyediakan detail tentang properti yang digunakan untuk menentukan entitas Data Factory khusus untuk konektor DB2.

Properti layanan tertaut

Properti berikut ini didukung untuk layanan tertaut DB2:

Properti Deskripsi Wajib
jenis Properti jenis harus diatur ke: Db2 Ya
connectionString Tentukan informasi yang diperlukan untuk menyambungkan ke instans DB2.
Anda juga dapat menyimpan kata sandi di Azure Key Vault dan mengeluarkan konfigurasi password dari string koneksi. Lihat sampel berikut dan artikel Menyimpan info masuk di Azure Key Vault untuk detail selengkapnya.
Ya
connectVia Runtime integrasi yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, Azure Integration Runtime default akan digunakan. No

Properti umum di dalam string koneksi:

Properti Deskripsi Wajib diisi
server Nama server DB2. Anda dapat menentukan nomor port setelah nama server dibatasi oleh titik dua misalnya server:port.
Konektor DB2 menggunakan protokol DDM/DRDA, dan secara default menggunakan port 50000 jika tidak ditentukan. Port yang digunakan database DB2 spesifik Anda mungkin berbeda berdasarkan versi dan pengaturan Anda, misalnya untuk DB2 LUW port{i> DB2 z/OS, DB2 iSeries, dan DB2 LUW.
Ya
database Nama database DB2. Ya
authenticationType Jenis autentikasi yang digunakan untuk menyambungkan ke database DB2.
Nilai yang diizinkan adalah: Dasar.
Ya
Nama pengguna Tentukan nama pengguna untuk menyambungkan ke database{i> Ya
kata sandi Tentukan kata sandi untuk akun pengguna yang Anda tentukan untuk username. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau mereferensikan rahasia yang disimpan di Azure Key Vault. Ya
packageCollection Tentukan di bawah di mana paket yang diperlukan dibuat secara otomatis oleh layanan saat membuat kueri database. Jika tidak diatur, layanan menggunakan {nama pengguna} sebagai nilai default. No
certificateCommonName Saat menggunakan enkripsi Lapisan Soket Aman (SSL) atau Keamanan Lapisan Transportasi (TLS), Anda harus memasukkan nilai untuk nama umum Sertifikat. No

Tip

Jika menerima pesan kesalahan yang menyatakan The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805, alasannya adalah paket yang diperlukan tidak dibuat untuk pengguna. Secara default, layanan akan mencoba membuat paket di bawah koleksi yang ditetapkan sebagai pengguna yang Anda gunakan untuk menyambungkan ke DB2. Tentukan properti pengumpulan paket untuk menunjukkan di mana Anda ingin layanan membuat paket yang diperlukan saat membuat kueri database. Jika Anda tidak dapat menentukan nama koleksi paket, coba atur packageCollection=NULLID.

Contoh:

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

Contoh: simpan kata sandi di 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"
        }
    }
}

Jika menggunakan layanan tertaut DB2 dengan muatan berikut, layanan ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Payload sebelumnya:

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

Properti himpunan data

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan himpunan data, lihat artikel himpunan data. Bagian ini menyediakan daftar properti yang didukung oleh himpunan data DB2.

Untuk menyalin data dari DB2, properti berikut ini didukung:

Properti Deskripsi Wajib
jenis Properti jenis himpunan data harus diatur ke: Db2Table Ya
skema Nama skema. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tabel Nama tabel. Tidak (jika "kueri" di sumber aktivitas ditentukan)
tableName Nama tabel dengan skema. Properti ini didukung untuk kompatibilitas mundur. Untuk beban kerja baru, gunakan schema dan table. Tidak (jika "kueri" di sumber aktivitas ditentukan)

Contoh

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

Jika Anda menggunakan himpunan data berjenis RelationalTable, himpunan data tersebut masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Properti aktivitas salin

Untuk daftar lengkap bagian dan properti yang tersedia untuk menentukan aktivitas, lihat artikel Alur. Bagian ini menyediakan daftar properti yang didukung oleh sumber data DB2.

DB2 sebagai sumber data

Untuk menyalin data dari DB2, properti berikut ini didukung di bagian sumber aktivitas salin:

Properti Deskripsi Wajib
jenis Properti jenis dari sumber aktivitas salin harus diatur ke: Db2Source Ya
pertanyaan Gunakan kueri SQL kustom untuk membaca data. Sebagai contoh: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". Tidak (jika "tableName" di himpunan data ditentukan)

Contoh:

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

Jika Anda menggunakan sumber berjenis RelationalSource, sumber ini masih didukung apa adanya, sementara Anda disarankan untuk menggunakan yang baru ke depannya.

Pemetaan jenis data untuk DB2

Saat menyalin data dari DB2, pemetaan berikut digunakan dari jenis data DB2 ke jenis data sementara yang digunakan secara internal dalam layanan. Lihat Pemetaan skema dan jenis data untuk mempelajari bagaimana aktivitas penyalinan memetakan skema sumber dan jenis data ke sink.

Jenis Database DB2 Jenis data layanan sementara
Bigint Int64
Biner Byte[]
Blob Byte[]
Char String
Clob String
Date Tanggalwaktu
DB2DynArray String
DbClob String
Decimal Decimal
DecimalFloat Decimal
Laju Laju
Float Laju
Graphic String
Bilangan bulat Int32
LongVarBinary Byte[]
LongVarChar String
LongVarGraphic String
Numerik Decimal
Riil Tunggal
SmallInt Int16
Waktu TimeSpan
Tanda Waktu DateTime
VarBinary Byte[]
VarChar String
VarGraphic String
Xml Byte[]

Properti aktivitas pencarian

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

Untuk daftar penyimpanan data yang didukung sebagai sumber dan sink oleh aktivitas salin, lihat penyimpanan data yang didukung.