استخدام SSIS لقراءة الملفات المسطحة ذات أنواع السجلات المتعددة

StackOverflow https://stackoverflow.com/questions/1422565

  •  07-07-2019
  •  | 
  •  

سؤال

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

قرأت هذا الرد :

بيانات معاملات SSIS (أنواع سجلات مختلفة، ملف واحد)

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

  1. يجب إدراج رأس الطلب أولاً، قبل العنوان والتفاصيل نظرًا لأن العنوان والتفاصيل ستشير إلى سجل الطلب، لذلك أعتقد أنني بحاجة إلى معالجة هذا الإخراج أولاً، لكنني لست متأكدًا في SSIS من كيفية إنشاء هذا الفرع من تتم معالجة مهمة الانقسام المشروط قبل الفروع الأخرى.من الناحية المثالية، أرغب في معالجة رأس الطلب ثم تخزين معرف الطلب في متغير مستخدم بحيث يمكنني الرجوع إلى هذا المتغير عند معالجة التفاصيل.

  2. سيكون هناك أوامر متعددة في الملف، لذا فإن تقسيمه أكثر تعقيدًا.

يمكنني دائمًا كتابة تطبيق بلغة C# والذي سيقوم بمعالجة الملف مسبقًا أو قراءته في جدول مرحلي، لكنني لست متأكدًا من أنني أحب هذا الأسلوب.

هل يمكن لأي شخص مر بهذه العملية مشاركة بعض الأفكار حول كيفية تعامله معها؟

شكرًا،

كريس

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

المحلول

بعد التقسيم، قم بإيداع كل نوع من السجلات في جدول التدريج الخاص به - أو في وجهة بيانات أولية ssis، وهو أسرع وجيد للخطوات المتوسطة مثل هذه.ثم قم بتحميل كافة الرؤوس في الجدول النهائي الخاص بها وتابع دون أخطاء مرجعية.

أفترض أن سجلات التفاصيل تحتوي على معرف رأس فيها؟وهذا من شأنه أن يجعل التعامل مع سؤالك الثاني أمرًا سهلاً.إذا لم يكن الأمر كذلك، اسمحوا لنا أن نعرف.

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