سؤال

ما هي أفضل طريقة لتجريد الشخصيات من الملفات المسطحة في SSIS؟ في حالتي، أحتاج إلى إزالة جميع علامات الاقتباس من الملف قبل المعالجة.

تعديل:
كيف يمكنني تشغيل قابلة للتنفيذ ضد بعض الملفات من SSIS؟ هل يمكنني استخدام اتصال المصدر بطريقة أو بأخرى كمدخل أو هل يجب علي المرور في أسماء الملفات كمعلمات؟

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

المحلول

سأسهل طريقة للقيام بذلك هي إنشاء مكون نصي "تحويل" واستخدام التعليمات البرمجية لتجريد علامات الاقتباس.

نصائح أخرى

لقد استخدمت Derived Column Transformation

على سبيل المثال إذا أردت استبدال "،" "،"، # في SSIS باستخدام عمود مشتق، سأكتب

Replace(Replace(REPLACE(name,"$"," "), "'", " ")," ","")

لكنني أشعر أنه إذا احتاجت تصفية أعمدة 1 أو 2، فإن هذا النهج جيد. إذا كان ينطوي على المزيد، ثم المضي قدما في Script task

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

يمكنك رمز البرنامج النصي .NET الخاص بك وتضمينه في مهمة البرنامج النصي. يمكنك أيضا الاتصال بأداة أو مكون طرف ثالث عبر مهمة تنفيذ عملية التنفيذ.

على سبيل المثال، إذا كانت لديك حق الوصول إلى سطر أوامر Cygwin Unix، فينبغي أن يفعل شيء من هذا القبيل العمل:

sed s/\"//g data1.txt

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

إذا فهمت سؤالك بشكل صحيح، فترغب في إزالة أي علامات اقتباس من أي من قيم الأعمدة الموجودة في الملف النصي الخاص بك؟ إذا كان هذا هو الحال، فستستخدم تحويل عمود مشتقة. يمكنك تحديد استبدال "column_name" في اسم العمود المشتق المنسدلة. يمكنك بعد ذلك ملء خاصية التعبير مع التعليمات البرمجية التالية: استبدال ("" "، [column_name]،" ")

أتمنى أن يساعدك هذا.

ستعمل كل من Unclepaul84 وحلول Ryan Fonnetts ولكن شخصيا أذهب أكثر نحو غير ملائم لأنني كنت أعرف أن لدي ملفات متعددة تحتاج إلى اقتباسات تم تجريدها ويمكنني استخدام نفس رمز التحول لكل واحد (وهو لطيف).

هذه حلول، لكنني أعتقد أن هناك تأكيدا أسهل تم تصميمه في إدارة اتصال الملفات المسطحة.

في علامة التبويب الأولى، ستجد عام مربع النص الأول ضمن STOTIN FORMATE، يسمى مؤهل النص. أدخل اقتباس واحد مزدوج (أو اقتباس واحد إذا تم لف جميع الأعمدة في علامات اقتباس واحدة) هنا وانقر فوق معاينة.

هذا من شأنه ان يحل مشكلتك!

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