نسخ البيانات من DB2 باستخدام Synapse Analytics أو Azure Data Factory

ينطبق على: Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

تُوضح هذه المقالة كيفية استخدام نشاط النسخ في مسارات Synapse Analytics وAzure Data Factory لنسخ البيانات من قاعدة بيانات DB2. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.

القدرات المدعومة

موصل DB2 هذا مدعوم للإمكانيات التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-) (1) (2)
نشاط البحث (1) (2)

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

للحصول على قائمة مخازن البيانات المدعومة كمصادر أو أحواض بواسطة نشاط النسخ، راجع جدول مخازن البيانات المدعومة.

على وجه التحديد، يدعم موصل DB2 هذا إصدارات وأنظمة IBM DB2 الأساسية التالية بهندسة قاعدة البيانات الارتباطية الموزعة (DRDA)، ومدير وصول SQL (SQLAM) الإصدارات 9، و10، و11. ويستخدم بروتوكول DDM/DRDA.

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

المتطلبات الأساسية

إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.

إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.

يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.

لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.

يوفر وقت تشغيل التكامل برنامج تشغيل DB2 مضمن، لذلك لا تحتاج إلى تثبيت أي برنامج تشغيل يدوياً عند نسخ البيانات من DB2.

الشروع في العمل

لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:

إنشاء خدمة مرتبطة بـ DB2 باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة ب DB2 في واجهة مستخدم مدخل Microsoft Azure.

  1. استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":

  2. ابحث عن "DB2" وحدد موصل DB2.

    لقطة شاشة لموصل DB2

  3. قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.

    لقطة شاشة لتكوين الخدمة المرتبطة لـ DB2.

تفاصيل تكوين الموصل

تُوفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتعريف كيانات Data Factory الخاصة بموصل DB2.

خصائص الخدمة المرتبطة

تُدعم الخصائص التالية لخدمة DB2 المرتبطة:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Db2 ‏‏نعم‬
سلسلة الاتصال تحديد المعلومات المطلوبة للاتصال بمثيل DB2.
يمكنك أيضاً وضع كلمة مرور في Azure Key Vault وسحب تكوين password خارج سلسلة الاتصال. راجع النماذج التالية ومقال تخزين بيانات الاعتماد في Azure Key Vault لمزيد من التفاصيل.
‏‏نعم‬
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. لا

الخصائص النموذجية داخل سلسلة الاتصال:

الخاصية الوصف مطلوب
الخادم اسم خادم DB2. يُمكنك تحديد رقم المنفذ الذي يتبع اسم الخادم المحدد بواسطة علامة النقطتين، على سبيل المثال server:port.
يستخدم موصل DB2 بروتوكول DDM/DRDA، ويستخدم المنفذ 50000 بشكل افتراضي إذا لم يتم تحديده. قد يكون المنفذ الذي تستخدمه قاعدة بيانات DB2 المحددة مختلفاً استناداً إلى الإصدار وإعداداتك، على سبيل المثال، بالنسبة لـ DB2 LUW، فإن المنفذ الافتراضي هو 50000، وبالنسبة لـ AS400، فإن المنفذ الافتراضي هو 446 أو 448 عند تمكين TLS. راجع مستندات DB2 التالية المتعلقة بكيفية تكوين المنفذ عادةً: DB2 z/OS، وDB2 iSeries، وDB2 LUW.
‏‏نعم‬
قاعدة بيانات اسم قاعدة بيانات DB2. ‏‏نعم‬
نوع المصادقة نوع المصادقة المستخدمة للاتصال بقاعدة بيانات DB2.
القيمة المسموح بها هي: أساسي.
‏‏نعم‬
اسم المستخدم حدد اسم المستخدم للاتصال بقاعدة بيانات DB2. ‏‏نعم‬
كلمة المرور حدد كلمة المرور لحساب المستخدم الذي حددته لاسم المستخدم. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬
packageCollection حدد المكان الذي يتم فيه إنشاء الحزم المطلوبة تلقائياً بواسطة الخدمة عند الاستعلام عن قاعدة البيانات. في حالة عدم تعيين ذلك، تستخدم الخدمة {اسم المستخدم} كقيمة افتراضية. لا
certificateCommonName عند استخدام تشفير طبقة مآخذ التوصيل الآمنة (SSL) أو بروتوكول أمان طبقة النقل (TLS)، يجب عليك إدخال قيمة لاسم الشهادة الشائع. لا

تلميح

إذا تلقيت رسالة خطأ تنص على The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805، يكون السبب هو عدم إنشاء حزمة مطلوبة للمستخدم. ستحاول الخدمة، بشكل افتراضي، إنشاء الحزمة ضمن المجموعة المسماة باسم المستخدم الذي استخدمته للاتصال بـ DB2. حدد خاصية مجموعة الحزم للإشارة إليها ضمن المكان الذي تريد أن تنشئ الخدمة فيه الحزم المطلوبة عند الاستعلام عن قاعدة البيانات. إن لم تتمكن من تحديد اسم مجموعة الحزمة، حاول تعيين packageCollection=NULLID.

مثال:

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

مثال: تخزين كلمة المرور في 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"
        }
    }
}

إذا كنت تستخدم خدمة مرتبطة في DB2 بالبيانات الأساسية التالية، فإنها لا تزال مدعومة كما هي، بينما نقترح عليك استخدام الخدمة الجديدة للمضي قدماً.

البيانات الأساسية السابقة:

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

خصائص مجموعة البيانات

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات. يوفر هذا القسم قائمة بالخصائص التي تدعمها مجموعة بيانات DB2.

لنسخ البيانات من DB2، يتم دعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مجموعة البيانات إلى: Db2Table ‏‏نعم‬
Schema اسم المخطط. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
طاولتنا ضع اسمًا للجدول. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)
اسم الجدول اسم الجدول مع المخطط. هذه الخاصية مدعومة للتوافق مع الإصدارات السابقة. استخدم schema وtable لأحمال العمل الجديدة. لا (إذا تم تحديد "الاستعلام" في مصدر النشاط)

مثال

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

إذا كنت تستخدم RelationalTable مجموعة بيانات مُصنفة حسب النوع، فإنها لا تزال مدعومة كما هي، بينما نقترح عليك استخدام مجموعة البيانات الجديدة للمضي قدماً.

انسخ خصائص النشاط

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر بيانات DB2.

DB2 كمصدر بيانات

لنسخ البيانات من DB2، تكون الخصائص التالية مدعومة في قسم مصدر نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: Db2Source ‏‏نعم‬
استعلام استخدم استعلام SQL المخصص لقراءة البيانات. على سبيل المثال: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". لا (إذا تم تحديد "tableName" في مجموعة البيانات)

مثال:

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

إذا كنت تستخدم المصدر المصنف حسب النوع RelationalSource، فلا يزال هذا المصدر مدعوماً كما هو، بينما نقترح عليك استخدام المصدر الجديد للمضي قدماً.

تعيين نوع البيانات لـ DB2

عند نسخ البيانات من DB2، يتم استخدام التعيينات التالية من أنواع بيانات DB2 إلى أنواع البيانات المؤقتة المستخدمة داخلياً داخل الخدمة. راجع تعيينات المخططات ونوع البيانات لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي.

نوع قاعدة بيانات DB2 نوع بيانات الخدمة المؤقتة
عدد صحيح كبير Int64
ثنائي بايت []
كائن ثنائي كبير الحجم بايت []
Char السلسلة‬
Clob السلسلة‬
التاريخ التاريخ/الوقت
DB2DynArray السلسلة‬
DbClob السلسلة‬
عدد عشري عدد عشري
DecimalFloat عدد عشري
مزدوج مزدوج
Float مزدوج
الرسم السلسلة‬
رقم صحيح Int32
LongVarBinary بايت []
LongVarChar السلسلة‬
LongVarGraphic السلسلة‬
رقمي عدد عشري
حقيقي فردي
SmallInt Int16
الوقت TimeSpan
طابع زمني DateTime
VarBinary بايت []
VarChar السلسلة‬
VarGraphic السلسلة‬
Xml بايت []

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.