Azure Data Factory veya Synapse Analytics kullanarak DB2'den veri kopyalama
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
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çıklanmaktadır. Kopyalama etkinliğine genel bir genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
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) Şirket içinde 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 şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için 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 Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.
Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki 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
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The REST API
- Azure Resource Manager şablonu
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.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
DB2'yi arayın ve DB2 bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
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 |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: Db2 | Yes |
connectionString | DB2 örneğine bağlanmak için gereken bilgileri belirtin. Ayrıca Azure Key Vault'a parola ekleyebilir ve yapılandırmayı password bağlantı dizesi çıkarabilirsiniz. Diğer ayrıntılarla birlikte aşağıdaki örneklere ve Azure Key Vault'ta kimlik bilgilerini depolama 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 |
database | DB2 veritabanının adı. | Yes |
authenticationType | DB2 veritabanına bağlanmak için kullanılan kimlik doğrulama türü. İzin verilen değer: Temel. |
Yes |
username | DB2 veritabanına bağlanmak için kullanıcı adını belirtin. | Yes |
password | Kullanıcı adı için belirttiğiniz kullanıcı hesabının parolasını belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Yes |
packageCollection | 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 |
certificateCommonName | 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=-805
alı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=NULLID
deneyin.
Ö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: Azure Key Vault'ta parola depolama
{
"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 |
---|---|---|
Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: Db2Table | Yes |
schema | Şemanın adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
table | Tablonun adı. | Hayır (etkinlik kaynağında "sorgu" belirtilirse) |
tableName | Şema içeren tablonun adı. Bu özellik geriye dönük uyumluluk için desteklenir. Yeni iş yükü için ve table kullanınschema . |
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 kullanıyorsanız RelationalTable
, bu veri kümesi olduğu gibi desteklenirken, ileriye dönük yeni bir veri kümesini kullanmanız önerilir.
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için İşlem hatları 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 |
---|---|---|
Tür | 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[] |
Char | String |
Clob | String |
Tarih | Datetime |
DB2DynArray | String |
DbClob | String |
Ondalık | Ondalık |
DecimalFloat | Decimal |
Çift | Çift |
Satışa Arz | Çift |
Grafik | String |
Tamsayı | Int32 |
LongVarBinary | Bayt[] |
LongVarChar | String |
LongVarGraphic | String |
Sayısal | Ondalık |
Gerçek sayı | Tekli |
SmallInt | Int16 |
Saat | TimeSpan |
Zaman damgası | DateTime |
VarBinary | Bayt[] |
VarChar | String |
VarGraphic | String |
Xml | Bayt[] |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.