Azure Data Factory veya Synapse Analytics kullanarak DB2'den veri kopyalama

ŞUNLARA UYGULANIR: Azure Data Factory Azure Synapse Analytics

İpucu

Microsoft Fabric'daki Data Factory, daha basit bir mimariye, yerleşik yapay zekaya ve yeni özelliklere sahip yeni nesil Azure Data Factory. Veri tümleştirmeyi yeni kullanmaya başladıysanız Fabric Data Factory ile başlayın. Mevcut ADF iş yükleri veri bilimi, gerçek zamanlı analiz ve raporlama genelinde yeni özelliklere erişmek için Fabric yükseltebilir.

Bu makalede, db2 veritabanından veri kopyalamak için Azure Data Factory ve Synapse Analytics işlem hatlarında Kopyalama Etkinliğinin nasıl kullanılacağı açıklanmıştır. Kopyalama etkinliğine genel bir bakış sunan makale üzerine inşa eder.

Uyarı

Bu bağlayıcı Microsoft Fabric'daki Data Factory'de de kullanılabilir. Fabric özgü yapılandırma ve özellikler için IBM DB2 bağlayıcısı Fabric belgelerine bakın.

Desteklenen özellikler

Bu DB2 bağlayıcısı aşağıdaki özellikler için desteklenir:

Desteklenen özellikler IR
Kopyalama etkinliği (kaynak/-) (1) (2)
Arama etkinliği (1) (2)

(1) Azure tümleştirme çalışma zamanı (2) Yerel barındırılan tümleştirme çalışma zamanı

Kopyalama etkinliği tarafından kaynak veya havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.

Özellikle, bu DB2 bağlayıcısı Dağıtılmış İlişkisel Veritabanı Mimarisi (DRDA) SQL Access Manager (SQLAM) sürüm 9, 10 ve 11 ile aşağıdaki IBM DB2 platformlarını ve sürümlerini destekler. DDM/DRDA protokollerini kullanır.

  • Z/OS 12.1 için IBM DB2
  • Z/OS 11.1 için IBM DB2
  • i 7.3 için IBM DB2
  • i 7.2 için IBM DB2
  • i 7.1 için IBM DB2
  • LUW 11 için IBM DB2
  • LUW 10.5 için IBM DB2
  • LUW 10.1 için IBM DB2

Önkoşullar

Veri deponuz bir yerel ağ, Azure sanal ağ veya Amazon Sanal Özel Bulut içinde bulunuyorsa, ona bağlanmak için kendinden barındırılan bir tümleştirme çalışma zamanı yapılandırmanız gerekir.

Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa, izin verme listesine Azure Integration Runtime IP ekleyebilirsiniz.

Şirket içi ağa erişmek için, şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan Azure Data Factory yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.

Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.

Integration Runtime yerleşik bir DB2 sürücüsü sağlar, bu nedenle DB2'den veri kopyalarken herhangi bir sürücüyü el ile yüklemeniz gerekmez.

Başlarken

Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:

Kullanıcı arabirimini kullanarak DB2'ye bağlı hizmet oluşturma

Azure portalı kullanıcı arabiriminde DB2'ye bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.

  1. Azure Data Factory veya Synapse çalışma alanınızdaki Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:

    Azure Data Factory UI ile yeni bir bağlı hizmet oluşturma ekranının ekran görüntüsü.

  2. DB2'yi arayın ve DB2 bağlayıcısını seçin.

    DB2 bağlayıcısının ekran görüntüsü.

  3. Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.

    DB2 için bağlı hizmet yapılandırmasının ekran görüntüsü.

Bağlayıcı yapılandırma ayrıntıları

Aşağıdaki bölümlerde, DB2 bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.

Bağlı hizmet özellikleri

DB2 bağlı hizmeti için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Tür özelliği şu şekilde ayarlanmalıdır: Db2 Yes
bağlantı dizesi DB2 örneğine bağlanmak için gereken bilgileri belirtin.
Ayrıca parolayı Azure Key Vault'a ekleyebilir ve password yapılandırmasını bağlantı dizesinden çıkarabilirsiniz. Daha fazla ayrıntı içeren aşağıdaki örneklere ve >Azure Key Vault makalesinde kimlik bilgilerini depola makalesine bakın.
Yes
connectVia Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime kullanır. Hayır

bağlantı dizesi içindeki tipik özellikler:

Özellik Açıklama Gerekli
sunucu DB2 sunucusunun adı. Bağlantı noktası numarasını, iki nokta üst üste ile ayrılmış sunucu adının ardından belirtebilirsiniz; örneğin. server:port
DB2 bağlayıcısı DDM/DRDA protokollerini kullanır ve belirtilmezse varsayılan olarak 50000 numaralı bağlantı noktasını kullanır. Belirli DB2 veritabanınızın kullandığı bağlantı noktası sürüme ve ayarlarınıza göre farklı olabilir; örneğin DB2 LUW için varsayılan bağlantı noktası 50000,AS400 için varsayılan bağlantı noktası 446 veya TLS etkinleştirildiğinde 448'dir. Bağlantı noktasının genellikle nasıl yapılandırıldığına ilişkin aşağıdaki DB2 belgelerine bakın: DB2 z/OS, DB2 iSeries ve DB2 LUW.
Yes
veritabanı DB2 veritabanının adı. Yes
kimlik doğrulama türü DB2 veritabanına bağlanmak için kullanılan kimlik doğrulama türü.
İzin verilen değer: Temel.
Yes
kullanıcı adı DB2 veritabanına bağlanmak için kullanıcı adını belirtin. Yes
şifre Kullanıcı adı için belirttiğiniz kullanıcı hesabının parolasını belirtin. Bu alanı güvenli bir şekilde depolamak için SecureString olarak işaretleyin veya Azure Key Vault içinde depolanan bir gizli anahtara referans verin. Yes
paketKoleksiyonu Veritabanını sorgularken gerekli paketlerin hizmet tarafından otomatik olarak nerede oluşturulacağını belirtin. Bu ayar yapılmazsa, hizmet varsayılan değer olarak {username} kullanır. Hayır
sertifikaOrtakAdı Güvenli Yuva Katmanı (SSL) veya Aktarım Katmanı Güvenliği (TLS) şifrelemesi kullandığınızda, Sertifika ortak adı için bir değer girmeniz gerekir. Hayır

İpucu

hata iletisi The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805alırsanız, nedeni kullanıcı için gerekli bir paket oluşturulmamış olmasıdır. Varsayılan olarak hizmet, DB2'ye bağlanmak için kullandığınız kullanıcı olarak adlandırılan koleksiyon altında paketi oluşturmaya çalışır. Hizmetin veritabanını sorgularken gerekli paketleri oluşturmasını istediğiniz yeri belirtmek için paket koleksiyonu özelliğini belirtin. Paket koleksiyonu adını belirleyemiyorsanız, ayarlamayı packageCollection=NULLIDdeneyin.

Örnek:

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

Örnek: Parolayı Azure Key Vault'ta depola

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

DB2 bağlı hizmetini aşağıdaki yükle birlikte kullanıyorsanız, bu hizmet yine olduğu gibi desteklenirken, ileriye dönük olarak yenisini kullanmanız önerilir.

Önceki yük:

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

Veri kümesi özellikleri

Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde DB2 veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.

DB2'den veri kopyalamak için aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: Db2Table Yes
şema Şemanın adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tablo Tablonun adı. Hayır (etkinlik kaynağında "sorgu" belirtilirse)
tabloAdı Şema içeren tablonun adı. Bu özellik geriye dönük uyumluluk için desteklenir. Yeni iş yükü için schema ve table kullanın. Hayır (etkinlik kaynağında "sorgu" belirtilirse)

Örnek

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

Yazılan veri kümesini RelationalTable kullanıyorsanız, bu veri kümesi mevcut haliyle desteklenmeye devam ederken, bundan sonra yeni bir veri kümesini kullanmanız tavsiye edilir.

Kopyalama etkinliği özellikleri

Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Pipelines makalesine bakın. Bu bölümde DB2 kaynağı tarafından desteklenen özelliklerin listesi sağlanır.

Kaynak olarak DB2

DB2'den veri kopyalamak için kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:

Özellik Açıklama Gerekli
Tip Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: Db2Source Yes
query Verileri okumak için özel SQL sorgusunu kullanın. Örneğin: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". Hayır (veri kümesinde "tableName" belirtilirse)

Örnek:

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

Yazılan kaynağı kullanıyorsanız RelationalSource , yine de olduğu gibi desteklenir, ancak bundan sonra yenisini kullanmanız önerilir.

DB2 için veri türü eşlemesi

DB2'den veri kopyalarken, DB2 veri türlerinden hizmet içinde dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri .

DB2 Veritabanı türü Ara hizmet veri türü
BigInt Int64
İkilik Bayt[]
Blob Bayt[]
Karakter Dize
Clob Dize
Tarih Tarih ve Saat
DB2DynArray Dize
DbClob Dize
Ondalık Ondalık
DecimalFloat Ondalık
Çift Çift
Flotasyon Çift
Grafik Dize
Tamsayı Int32
LongVarBinary Bayt[]
LongVarChar Dize
LongVarGraphic Dize
Sayısal Ondalık
Gerçek Tekil
SmallInt Int16
Zaman TimeSpan
Zaman damgası TarihSaat
VarBinary Bayt[]
VarChar Dize
VarGraphic Dize
Xml Bayt[]

Arama etkinliği özellikleri

Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.

Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.