Menyalin data dari DB2 menggunakan Azure Data Factory atau Synapse Analytics

Azure Data Factory Azure Synapse Analytics

Tip

Data Factory di Microsoft Fabric adalah generasi Azure Data Factory berikutnya, dengan arsitektur yang lebih sederhana, AI bawaan, dan fitur baru. Jika Anda baru menggunakan integrasi data, mulailah dengan Fabric Data Factory. Beban kerja ADF yang ada dapat ditingkatkan ke Fabric untuk mengakses kemampuan baru di seluruh ilmu data, analitik real time, dan pelaporan.

Artikel ini menguraikan cara menggunakan Aktivitas Salin di alur Azure Data Factory dan 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 menyalin (sumber/-) (1) (2)
Aktivitas pencarian (1) (2)

(1) Azure runtime integrasi (2) 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 perlu mengonfigurasi runtime integrasi yang dihosting sendiri self-hosted integration runtime untuk menyambungkannya.

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 managed virtual network integration runtime di Azure Data Factory untuk mengakses jaringan di lokasi 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 UI portal 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.

    Tangkapan layar konektor DB2.

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

    Cuplikan layar konfigurasi layanan tertaut untuk DB2.

Detail konfigurasi konektor

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

Properti layanan terkait

Properti berikut ini didukung untuk layanan tertaut DB2:

Properti Deskripsi Wajib
jenis Properti tipe harus diatur ke: Db2 Ya
connectionString Tentukan informasi yang diperlukan untuk menyambungkan ke instans DB2.
Anda juga dapat memasukkan kata sandi ke dalam Azure Key Vault dan menarik konfigurasi password dari connection string. Lihat sampel berikut dan kredensial Store di artikel Azure Key Vault dengan detail selengkapnya.
Ya
connectVia Integration Runtime yang akan digunakan untuk menyambungkan ke penyimpanan data. Pelajari selengkapnya dari bagian Prasyarat. Jika tidak ditentukan, ia menggunakan Azure Integration Runtime default. Tidak

Properti umum di dalam connection string:

Properti Deskripsi Wajib
server Nama dari 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
jenisOtentikasi 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 dengan nama pengguna yang telah Anda tentukan. Tandai bidang ini sebagai SecureString untuk menyimpannya dengan aman, atau referensi 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. Tidak
namaUmumSertifikat Saat menggunakan enkripsi Lapisan Soket Aman (SSL) atau Keamanan Lapisan Transportasi (TLS), Anda harus memasukkan nilai untuk nama umum Sertifikat. Tidak

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 diberi nama sesuai dengan pengguna yang Anda gunakan untuk menyambungkan ke DB2. Tentukan properti koleksi paket untuk menunjukkan di bawah lokasi mana Anda ingin layanan membuat paket yang diperlukan saat menjalankan kueri pada basis data. 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"
        }
    }
}

Example: menyimpan 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 ke belakang. 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 Pipelines. 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
kueri Gunakan kueri SQL kustom untuk membaca data. Misalnya: "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 (Objek Biner Besar) Byte[]
Karakter String
Clob String
Tanggal Tanggalwaktu
DB2DynArray String
DbClob String
Desimal Desimal
DecimalFloat Desimal
Ganda Ganda
Float Ganda
Grafik String
Bilangan bulat Int32
LongVarBinary Byte[]
LongVarChar String
LongVarGraphic String
Numerik Desimal
Nyata Tunggal
SmallInt Int16
Waktu TimeSpan
Tanda Waktu TanggalWaktu
VarBinary Byte[]
VarChar String
VarGraphic String
Xml Byte[]

Properti aktivitas pencarian data

Untuk mempelajari detail tentang properti, lihat Aktivitas pencarian.

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