Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

केवल उन फ़ाइलों के माध्यम से लूप कैसे करें जो एसएसआईएस पैकेज का उपयोग करके गंतव्य में मौजूद नहीं हैं?

यहां दो अनुमानों के साथ एक संभावित समाधान दिया गया है:

  1. गंतव्य फ़ोल्डर की सभी फ़ाइलें इस पैकेज द्वारा स्थानांतरित की गई थीं।
  2. फ़ाइल नाम अद्वितीय हैं।

आप ETL में फ़ाइल नाम लॉगिंग चरण जोड़ सकते हैं।

फ़ाइल नाम के लिए एक कॉलम के साथ डेटाबेस में एक नई लॉग टेबल बनाएं। पैकेज के प्रत्येक लूप पर इस तालिका में फ़ाइल का नाम लिखें। फिर आप इसे एक साधारण लुकअप टेबल के रूप में उपयोग कर सकते हैं जिसका उपयोग ईटीएल में कुछ सशर्त तर्क द्वारा किया जाता है ताकि यह जांचा जा सके कि संसाधित किया जा रहा फ़ाइल नाम किसी मौजूदा फ़ाइल से मेल खाता है या नहीं।

वास्तव में आप लॉगिंग चरण और सशर्त जांच को कैसे कार्यान्वित करते हैं (डेटा प्रवाह में एक सशर्त हो सकता है, स्क्रिप्ट कार्य में किया जा सकता है, आदि) आपके पैकेज के डिज़ाइन पर निर्भर करेगा, लेकिन इसे वह पूरा करना चाहिए जो आप खोज रहे हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या SQL सर्वर पहचान कॉलम के अनुक्रमिक सम्मिलन की गारंटी देता है?

  2. निर्दिष्ट नाम वाले कॉलम वाली सभी तालिकाएँ खोजें - MS SQL सर्वर

  3. Azure डेटा स्टूडियो में SQL सर्वर एजेंट जॉब बनाएँ

  4. SQL सर्वर:संग्रहीत कार्यविधि परिणाम को उसकी स्कीमा निर्दिष्ट किए बिना तालिका चर में सेट करें

  5. क्या मुझे वास्तव में SET XACT_ABORT ON का उपयोग करने की आवश्यकता है?