نسخ البيانات من وإلى مخازن البيانات ODBC باستخدام Azure Data Factory أو Synapse Analytics

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

تلميح

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

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

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

يعتمد موصل ODBC في الإمكانيات التالية:

القدرات المدعومة IR
Copy activity (المصدر/المتلق)
نشاط البحث

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

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

يدعم موصل ODBC على وجه التحديد نسخ البيانات من/إلى أي مخازن بيانات متوافقة مع ODBC باستخدام المصادقة الأساسية أو المجهولة. يُطلب برنامج تشغيل ODBC 64 بت. بالنسبة لمتلقي ODBC، تدعم الخدمة ODBC الإصدار 2.0 قياسي.

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

لاستخدام موصل ODBC، تحتاج إلى:

  • إعداد وقت تشغيل تكامل مستضاف ذاتياً. راجع مقالة وقت تشغيل التكامل المستضاف ذاتياً للحصول على التفاصيل.
  • ثبت برنامج تشغيل ODBC 64 بت لمخزن البيانات على جهاز وقت تشغيل التكامل.

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

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

أنشئ خدمة مرتبطة بمخزن بيانات ODBC باستخدام واجهة المستخدم

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

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

  2. ابحث عن ODBC وحدد "ODBC connector".

    لقطة شاشة لموصل ODBC.

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

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

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

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

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

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى: Odbc ‏‏نعم‬
سلسلة الاتصال سلسلة الاتصال باستثناء جزء بيانات الاعتماد. يمكنك تحديد سلسلة الاتصال بنمط مثل Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase;، أو استخدام نظام DSN (اسم مصدر البيانات) الذي قمت بإعداده على جهاز وقت تشغيل التكامل مع DSN=<name of the DSN on IR machine>; (لا يزال يتعين عليك تحديد جزء بيانات الاعتماد في الخدمة وفقًا لذلك).
يمكنك أيضًا وضع كلمة مرور في Azure Key Vault وسحب تكوين password خارج سلسلة الاتصال. راجع تخزين بيانات الاعتماد في Azure Key Vault للحصول على المزيد من التفاصيل.
‏‏نعم‬
نوع المصادقة نوع المصادقة المستخدمة للاتصال بمخزن بيانات ODBC.
القيم المسموح بها هي: أساسي ومجهول.
‏‏نعم‬
userName حدد اسم المستخدم إذا كنت تستخدم المصادقة الأساسية. لا
كلمة المرور حدد كلمة المرور لحساب المستخدم الذي حددته لـ userName. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو قم بالإشارة إلى بيانات سرية مخزنة في Azure Key Vault. لا
بيانات الاعتماد جزء بيانات اعتماد الوصول من سلسلة الاتصال المحددة في تنسيق قيمة الخاصية الخاصة ببرنامج التشغيل. مثال:"RefreshToken=<secret refresh token>;". ضع علامة على هذا الحقل بصفته SecureString. لا
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. وقت تشغيل التكامل المستضاف ذاتيًا مطلوب كما هو مذكور في المتطلبات الأساسية. ‏‏نعم‬

مثال 1: استخدام المصادقة الأساسية

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال 2: استخدام مصادقة مجهولة

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Anonymous",
            "credential": {
                "type": "SecureString",
                "value": "RefreshToken=<secret refresh token>;"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

لنسخ البيانات من/إلى مخزن البيانات المتوافق مع ODBC، يتم دعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مجموعة البيانات على: OdbcTable ‏‏نعم‬
اسم الجدول اسم الجدول في مخزن البيانات ODBC. لا للمصدر (إذا تم تحديد "الاستعلام" في مصدر النشاط)؛
نعم للمتلقي

مثال

{
    "name": "ODBCDataset",
    "properties": {
        "type": "OdbcTable",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ODBC linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "<table name>"
        }
    }
}

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

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

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

ODBC كمصدر

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

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

مثال:

"activities":[
    {
        "name": "CopyFromODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ODBC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OdbcSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

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

ODBC كمتلقي

لنسخ البيانات إلى مخزن البيانات المتوافق مع ODBC، قم بتعيين المتلقي في نشاط النسخ إلى OdbcSink. تُدعم الخصائص التالية في قسم متلقي نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع متلقي نشاط النسخ إلى: OdbcSink ‏‏نعم‬
writeBatchTimeout وقت الانتظار حتى تكتمل عملية إدراج الدُفعة قبل انتهاء مهلتها.
القيم المسموح بها هي: نهاية الوقت. مثال: "00:30:00" (30 دقيقة).
لا
writeBatchSize إدراج البيانات في جدول SQL عندما يصل حجم المخزن المؤقت إلى writeBatchSize.
القيم المسموح بها هي: عدد صحيح (عدد الصفوف).
لا (الافتراضي هو 0 - الكشف التلقائي)
preCopyScript حدد استعلام SQL لنشاط النسخ لتنفيذه قبل كتابة البيانات في مخزن البيانات في كل تشغيل. يمكنك استخدام هذه الخاصية لتنظيف البيانات المحملة مسبقاً. لا

إشعار

بالنسبة إلى "writeBatchSize"، إذا لم يتم تعيينها على (الكشف التلقائي)، يقوم نشاط النسخ أولاً بالكشف عما إذا كان برنامج التشغيل يدعم عمليات الدفعة، وتعيينه إلى 10000 إذا كان كذلك، أو قم بتعيينه على 1 إذا لم يكن كذلك. إذا قمت بتعيين القيمة بقيمة صريحة بخلاف 0، يستخدم نشاط النسخ القيمة ويفشل في وقت التشغيل إذا كان برنامج التشغيل لا يدعم العمليات المجمعة.

مثال:

"activities":[
    {
        "name": "CopyToODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ODBC output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OdbcSink",
                "writeBatchSize": 100000
            }
        }
    }
]

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

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

استكشاف مشكلات الاتصال وإصلاحها

لاستكشاف مشكلات الاتصال وإصلاحها، استخدم علامة التبويب Diagnostics لـ Integration Runtime Configuration Manager.

  1. تشغيل Integration Runtime Configuration Manager.
  2. التبديل إلى علامة التبويب "Diagnostics".
  3. ضمن قسم "Test Connection"، حدد type مخزن البيانات (الخدمة المرتبطة).
  4. حدد connection string المستخدمة للاتصال بمخزن البيانات، واختر authentication وأدخل اسم المستخدم، وكلمة المرور، و/أو بيانات الاعتماد.
  5. انقر فوق Test connection لاختبار الاتصال مع مخزن البيانات.

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