سؤال

هل هناك أي طريقة يمكنني من خلالها التحقق مما إذا كان الحقل رقميًا في العمود المشتق/التقسيم الشرطي لمهمة تدفق البيانات في Sql Server Integration Services 2005.

يجب أن تكون الوظيفة مثل وظيفة ISNUMERIC().

حاليا أنا أستخدم

((DT_NUMERIC,12,0)fieldname= (DT_NUMERIC,12,0)fieldname)

في تعبير العمود المشتق للتحقق مما إذا كان اسم الحقل رقميًا.ولكن إذا كان اسم الحقل يحتوي على أحرف مثل 123ABC بدلاً من الرقم 123، فسيطرح التعبير أعلاه استثناءً بسبب فشل التحويل وتوقف تنفيذ الحزمة.

إذا كانت لدينا دالة مثل ISNUMERIC()، فلن نحتاج إلى القيام بكل هذا السيرك.هل يعرف أحد ما إذا كانت هناك أي وظيفة مثل هذه للتحقق مما إذا كان الحقل رقميًا أم لا في SSIS.

هل كانت مفيدة؟

المحلول

نستخدم التقنية التالية:

  1. في نموذج الخاصية لمكون العمود المشتق، يمكنك النقر فوق الزر المميز بـ "تكوين إخراج الخطأ" لإظهار تكوين إخراج الخطأ.

  2. قم بتكوين إجراءات الخطأ والاقتطاع لهذا العمود (أو أي عمود آخر) لتكون "تجاهل الفشل"

  3. الآن، إذا فشل تحويل هذا العمود لصف ما، فسوف تستمر الحزمة في التنفيذ.سيتم تعيين قيمة العمود لهذا الصف على قيمة خالية.يمكنك استخدام مكون لاحق للتحقق من القيم الخالية واتخاذ الإجراء المناسب.

نصائح أخرى

ويمكنك إعادة توجيه الصفوف على الخطأ ومعالجة الخطأ. أو استخدام مهمة النصي.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top