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

SSIS पैकेज का उपयोग करके SQL सर्वर से एक्सेल और टेक्स्ट फ़ाइल में डेटा निर्यात करें

SSIS डेटा प्रवाह का उपयोग करते समय, हम ETL कार्य कर सकते हैं जिसका उपयोग डेटा माइग्रेशन, डेटा ऑफ़लोडिंग, डेटा वेयरहाउस के डिज़ाइन और कार्यान्वयन के लिए किया जा सकता है।

इस लेख में, मैं समझाता हूं कि SSIS डेटा प्रवाह कार्य का उपयोग करके SQL तालिका से डेटा को एक्सेल और टेक्स्ट फ़ाइल में कैसे निर्यात किया जाए।

इस डेमो में, मैं निम्नलिखित चरणों के माध्यम से प्रदर्शन करूंगा:

1. एक SSIS पैकेज बनाएं और ADO.NET कनेक्शन मैनेजर बनाएं।

2. डेटा प्रवाह कार्य बनाएँ जिसमें SQL सर्वर से डेटा को पॉप्युलेट करने के लिए ADO.NET स्रोत हो। डेटा एक्सेल फाइल और टेक्स्ट फाइल में लिखा जाएगा इसलिए फ्लैट फाइल डेस्टिनेशन और एक्सेल डेस्टिनेशन को कॉन्फ़िगर करें।

3. एसएसआईएस पैकेज निष्पादित करें और सत्यापित करें कि डेटा एक्सेल और टेक्स्ट फाइलों के लिए लिखा गया था।

SSIS पैकेज और ADO.NET कनेक्शन बनाएं

इस डेमो के लिए, मैंने SQL सर्वर डेटा टूल्स 2015 का उपयोग किया। सबसे पहले, मैं "SQL डेटा निर्यात करें नामक एक नया एकीकरण सेवा प्रोजेक्ट बना रहा हूं। ":

एसएसआईएस परियोजना के निर्माण के बाद, मैं डेटा प्रवाह कार्य तैयार करूंगा। डेटा प्रवाह कार्य एक स्रोत के रूप में SQL सर्वर का उपयोग करेगा। एक्सेल फ़ाइल और फ्लैट फ़ाइल को गंतव्य के रूप में निर्धारित किया जाएगा। डेटा प्रवाह कार्य के निर्माण से पहले, हमें ADO.NET कनेक्शन . बनाना होगा ।

ADO.NET कनेक्शन कॉन्फ़िगर करें

जैसा कि मैंने ऊपर उल्लेख किया है, मैं "WideWorldImportors . का उपयोग करने जा रहा हूं डेमो डेटाबेस जिसे यहां से डाउनलोड किया जा सकता है।

"स्रोत . बनाने के लिए “कनेक्शन, राइट क्लिक करें“कनेक्शन प्रबंधक ” और “नया ADO.NET कनेक्शन . चुनें "जैसा कि नीचे चित्र में दिखाया गया है:

एक संवाद बॉक्स "ADO.NET कनेक्शन प्रबंधक कॉन्फ़िगर करें " खुलेगा। डायलॉग बॉक्स में, “नया . पर क्लिक करें "जैसा कि निम्न चित्र में दिखाया गया है:

एक डायलॉग बॉक्स “कनेक्शन मैनेजर " खुलेगा। मैं SQL कनेक्टिविटी पैरामीटर कॉन्फ़िगर करूंगा:

1. सर्वर का नाम - डेटाबेस सर्वर का होस्टनाम या आईपी पता है जहां SQL स्थापित है।

2. प्रमाणीकरण - एक "प्रमाणीकरण प्रकार" है जिसका उपयोग सर्वर को जोड़ने के लिए किया जाता है जिसे "सर्वर नाम . पर चुना जाता है " ड्रॉप डाउन बॉक्स। यह या तो SQL प्रमाणीकरण या Windows प्रमाणीकरण हो सकता है।

3. डेटाबेस का नाम - उस डेटाबेस का नाम है जिसका उपयोग हम डेटा निकालने के लिए करने जा रहे हैं।

इस डेमो में, मैं अपने स्थानीय वीएम का उपयोग करने जा रहा हूं। मैं SQL इंस्टेंस को जोड़ने के लिए विंडोज़ प्रमाणीकरण का उपयोग करूँगा और मैं “WideWorldImportors का उपयोग करने जा रहा हूँ। "डेटाबेस।

निम्न छवि को देखें:

कनेक्शन का परीक्षण करें . पर क्लिक करें "सफल कनेक्टिविटी को सत्यापित करने के लिए। निम्न छवि को देखें:

एक बार SQL कनेक्शन कॉन्फ़िगर हो जाने के बाद, आप “कनेक्शन प्रबंधक . में कनेक्शन देख पाएंगे " खिड़की। यह नियंत्रण प्रवाह विंडो के निचले भाग में स्थित है जैसा कि निम्न चित्र में दिखाया गया है:

डेटा प्रवाह कार्य बनाएं

डेटा प्रवाह कार्य का उपयोग स्रोतों और गंतव्य के बीच डेटा को स्थानांतरित करने के लिए किया जाता है। इसका उपयोग ईटीएल (एक्सट्रैक्ट, ट्रांसफॉर्म और लोड) कार्यों को करने के लिए किया जा सकता है। मैं SQL सर्वर से एक्सेल या टेक्स्ट फ़ाइल में डेटा निर्यात करूँगा इसलिए हम डेटा प्रवाह कार्य का उपयोग करेंगे।

डेटा प्रवाह कार्य को कॉन्फ़िगर करने के लिए, सबसे पहले मैं नियंत्रण प्रवाह विंडो में डेटा प्रवाह कार्य को खींच कर छोड़ दूंगा और इसका नाम बदलकर “Excel में बिक्री डेटा निर्यात करें कर दूंगा। "जैसा कि नीचे चित्र में दिखाया गया है:

ADO.NET स्रोत कॉन्फ़िगर करें

SQL सर्वर तालिका से डेटा को पॉप्युलेट करने के लिए, हमें ADO.Net स्रोत घटक को कॉन्फ़िगर करना होगा। “डेटा प्रवाह कार्य . पर डबल-क्लिक करें " ऐसा करने के लिए। विंडो “डेटा प्रवाह कार्य कॉन्फ़िगर करें " खुलेगा। वैकल्पिक रूप से, आप “डेटा प्रवाह . का चयन कर सकते हैं ” जो “नियंत्रण प्रवाह . के बगल में स्थित है " जैसा कि हमने पहले से ही SQL कनेक्शन को कॉन्फ़िगर किया है, हम ADO.NET स्रोत को डेटा प्रवाह विंडो में खींचेंगे और छोड़ देंगे जैसा कि नीचे की छवि में दिखाया गया है:

अब हम SQL सर्वर तालिका को क्वेरी करके तालिका से डेटा निकालने के लिए ADO.NET स्रोत को कॉन्फ़िगर करेंगे। ऐसा करने के लिए, “ADO नेट स्रोत . पर डबल-क्लिक करें " एक डायलॉग बॉक्स खुलेगा। डायलॉग बॉक्स में हमें निम्नलिखित पैरामीटर कॉन्फ़िगर करने होंगे:

1. ADO.NET कनेक्शन प्रबंधक - SSIS पैकेज में बनाए गए ADO.NET कनेक्शन की सूची को पॉप्युलेट करता है।

2. डेटा एक्सेस मोड दो विकल्प हैं:

ए। यदि आप “तालिका या दृश्य . चुनते हैं “डेटा एक्सेस मोड . में ” ड्रॉप-डाउन बॉक्स, “तालिका या दृश्य का नाम ड्रॉपडाउन डेटाबेस में मौजूद तालिकाओं और विचारों से भरा होगा। नीचे दी गई छवि देखें:

बी। यदि हम “SQL कमांड . चुनते हैं ”, यह एक बहु-पंक्ति टेक्स्ट बॉक्स खोलेगा जहां हम डेटाबेस से डेटा निकालने के लिए एड-हॉक क्वेरी लिख सकते हैं।

नीचे दी गई छवि देखें:

हमने पहले ही ADO.Net कनेक्शन बना लिया है, इसलिए ADO.NET कनेक्शन मैनेजर में इसके बनाए गए नाम का चयन करने के लिए ड्रॉप डाउन करें। इस डेमो में, हम अपनी खुद की क्वेरी लिखने जा रहे हैं, इसलिए डेटा एक्सेस विधि "SQL कमांड . होगी .

मैंने एक क्वेरी बनाई है जो मुझे डेटाबेस से ग्राहकों की सूची देगी। यह प्रश्न नीचे है:

SELECT s.CustomerID, 
s.CustomerName, 
sc.CustomerCategoryName, 
pp.FullName AS PrimaryContact, 
ap.FullName AS AlternateContact, 
s.PhoneNumber, 
s.FaxNumber, 
bg.BuyingGroupName, 
dm.DeliveryMethodName AS DeliveryMethod, 
c.CityName AS CityName 
FROM Sales.Customers AS s 
LEFT OUTER JOIN Sales.CustomerCategories AS sc 
ON s.CustomerCategoryID = sc.CustomerCategoryID 
LEFT OUTER JOIN [Application].People AS pp 
ON s.PrimaryContactPersonID = pp.PersonID 
LEFT OUTER JOIN [Application].People AS ap 
ON s.AlternateContactPersonID = ap.PersonID 
LEFT OUTER JOIN Sales.BuyingGroups AS bg 
ON s.BuyingGroupID = bg.BuyingGroupID 
LEFT OUTER JOIN [Application].DeliveryMethods AS dm 
ON s.DeliveryMethodID = dm.DeliveryMethodID 
LEFT OUTER JOIN [Application].Cities AS c 
ON s.DeliveryCityID = c.CityID

अंत में, ADO.NET स्रोत संपादक नीचे दी गई छवि की तरह दिखेगा:

हम “पूर्वावलोकन . पर क्लिक करके क्वेरी के आउटपुट का पूर्वावलोकन कर सकते हैं संवाद बॉक्स में "बटन। प्रश्न का परिणाम वैसा ही होगा जैसा नीचे चित्र में दिखाया गया है:

एक्सेल गंतव्य कॉन्फ़िगर करें

ADO.NET स्रोत को कॉन्फ़िगर करने के बाद, हम एक्सेल गंतव्य को कॉन्फ़िगर करेंगे।

SSIS टूल-बॉक्स में, डेटा-प्रवाह विंडो में एक्सेल गंतव्य को खींचें और छोड़ें और इसका नाम बदलकर “बिक्री एक्सेल फ़ाइल करें। "जैसा कि नीचे चित्र में दिखाया गया है:

एक्सेल डेस्टिनेशन पर डबल क्लिक करें। एक संवाद बॉक्स “एक्सेल गंतव्य संपादक "निम्न मापदंडों को कॉन्फ़िगर करने के लिए खुलेगा:

1. एक्सेल कनेक्शन प्रबंधक - एक्सेल फ़ाइल को जोड़ने के लिए उपयोग किया जाता है।

2. डेटा एक्सेस विधि . एक्सेल वर्कशीट को टेबल या व्यू के रूप में माना जाता है। यदि आप “तालिका या दृश्य . चुनते हैं ”, ड्रॉप डाउन बॉक्स “एक्सेल शीट का नाम एक्सेल वर्कबुक में बनाए गए सभी वर्कशीट से भरे जाएंगे।

3. एक्सेल शीट का नाम . डिफ़ॉल्ट रूप से, यह ड्रॉप-डाउन बॉक्स अक्षम है। जब हम “तालिका या दृश्य . चुनते हैं तो यह स्वचालित रूप से सक्षम हो जाएगा "डेटा एक्सेस मोड के रूप में। हम उपयुक्त एक्सेल वर्कशीट भी चुन सकते हैं।

हमने अभी तक एक्सेल डेस्टिनेशन कनेक्शन नहीं बनाया है, इसलिए सबसे पहले एक्सेल डेस्टिनेशन मैनेजर बनाना जरूरी है। ऐसा करने के लिए, “नया . पर क्लिक करें “Excel कनेक्शन प्रबंधक . के बगल में स्थित ” बटन ” ड्रॉप-डाउन बॉक्स जैसा कि नीचे चित्र में दिखाया गया है:

डायलॉग बॉक्स “एक्सेल कनेक्शन मैनेजर " खुलेगा। यहां हम कॉन्फ़िगर कर सकते हैं:

1. एक्सेल फ़ाइल पथ - एक्सेल फ़ाइल का स्थान।

2. एक्सेल संस्करण - ड्रॉप डाउन बॉक्स से एक्सेल संस्करण का चयन कर सकते हैं।

इस डेमो के लिए, मैंने एक एक्सेल फाइल बनाई और इसे अपने कंप्यूटर पर सेव किया। फ़ाइल का पता लगाने के लिए, ब्राउज़ करें पर क्लिक करें, फ़ाइल सिस्टम के माध्यम से आगे बढ़ें, फ़ाइल का चयन करें और ठीक . पर क्लिक करें , जैसा कि नीचे चित्र में दिखाया गया है:

अब चुनिंदा डेटा एक्सेस मोड में "टेबल या व्यू . के रूप में “एक्सेल गंतव्य प्रबंधक . में " एक्सेल वर्कशीट की सूची ड्रॉप डाउन बॉक्स में पॉप्युलेट की जाएगी। “एक्सेल शीट का नाम . चुनें ” ड्रॉप डाउन बॉक्स से जैसा कि नीचे चित्र में दिखाया गया है:

अब, SQL तालिका से एक्सेल फ़ाइल में डेटा निर्यात करने के लिए, हमें SQL तालिका और एक्सेल फ़ाइल के फ़ील्ड को मैप करना होगा। ऐसा करने के लिए, नीले तीर को “DB सर्वर का बिक्री डेटा . के नीचे खींचें ” घटक और इसे “बिक्री एक्सेल फ़ाइल . पर छोड़ दें "घटक जैसा नीचे चित्र में दिखाया गया है:

एक्सेल गंतव्य . पर डबल क्लिक करें "फ़ील्ड मैप करने के लिए। “एक्सेल गंतव्य संपादक (बिक्री एक्सेल फ़ाइल) " खुलेगा। “मैपिंग . चुनें संवाद बॉक्स के बाएँ फलक से "विकल्प। मैपिंग में, इनपुट कॉलम SQL क्वेरी आउटपुट के कॉलम होंगे और गंतव्य कॉलम एक्सेल फ़ाइल के कॉलम होंगे। SQL क्वेरी आउटपुट और एक्सेल कॉलम का एक ही नाम रखने का सुझाव दिया गया है। इससे मानचित्रण बहुत आसान हो जाएगा क्योंकि हमें फ़ील्ड को मैन्युअल रूप से मैप करने की आवश्यकता नहीं है। एसएसआईएस स्वचालित रूप से कॉलम मैप करेगा।

इस डेमो के लिए, एक्सेल फ़ाइल और SQL क्वेरी आउटपुट का एक ही नाम है इसलिए मैपिंग स्वचालित रूप से की गई थी। इस तथ्य की पुष्टि करें कि मानचित्रण सही ढंग से किया गया है और ठीक . पर क्लिक करें . नीचे दी गई छवि देखें:

एक बार मैपिंग पूरी हो जाने के बाद, संपूर्ण डेटा प्रवाह कार्य नीचे दी गई छवि की तरह दिखाई देगा:

अब हम पैकेज को निष्पादित कर सकते हैं। ऐसा करने के लिए, "प्रारंभ करें . पर क्लिक करें ” बटन जो मेन्यू बार में स्थित होता है। यदि पैकेज सफलतापूर्वक निष्पादित होता है, तो आप प्रत्येक घटक पर हरे रंग का आइकन देख सकते हैं जैसा कि नीचे दी गई छवि में दिखाया गया है:

फ्लैट फ़ाइल गंतव्य कॉन्फ़िगर करें

जैसा कि मैंने लेख की शुरुआत में उल्लेख किया है, SSIS में हम SQL तालिका से टेक्स्ट फ़ाइल में डेटा निर्यात कर सकते हैं। ऐसा करने के लिए, हमें डेटा प्रवाह कार्य में एक फ्लैट फ़ाइल गंतव्य बनाना होगा। खींचें और छोड़ें “फ्लैट फ़ाइल गंतव्य " डेटा प्रवाह कार्य विंडो में और इसका नाम बदलकर "पाठ फ़ाइल में बिक्री डेटा . करें ” जैसा कि नीचे चित्र में दिखाया गया है:

अब “फ्लैट फ़ाइल गंतव्य . पर डबल क्लिक करें " एक डायलॉग बॉक्स “फ्लैट फ़ाइल गंतव्य संपादक जैसा नीचे चित्र में दिखाया गया है, खुल जाएगा:

अब “नया . पर क्लिक करें “फ्लैट फ़ाइल कनेक्शन प्रबंधक . के बगल में स्थित ” बटन " ड्रॉप डाउन बॉक्स। संवाद बॉक्स “फ्लैट फ़ाइल स्वरूप " खुलेगा। इसके चार विकल्प हैं:डेटा को सीमांकित, निश्चित चौड़ाई, पंक्ति सीमांकक के साथ निश्चित चौड़ाई और रैग्ड राइट में निर्यात करें। इस डेमो के लिए, हम “सीमांकित . चुनेंगे .

सीमांकित . चुनें ” और ठीक . क्लिक करें जैसा कि नीचे चित्र में दिखाया गया है:

एक अन्य संवाद बॉक्स “फ्लैट फ़ाइल कनेक्शन प्रबंधक संपादक " खुलेगा। कनेक्शन प्रबंधक को "निर्यात बिक्री डेटा . के रूप में नाम दें ” जैसा कि निम्न चित्र में दिखाया गया है:

SQL डेटा को टेक्स्ट फ़ाइल में सहेजने के लिए, हम या तो नई टेक्स्ट फ़ाइल बना सकते हैं या मौजूदा फ़ाइल चुन सकते हैं।

इस डेमो के लिए, हम एक नई फाइल बनाने जा रहे हैं। मैं “बिक्री डेटा . नाम की फ़ाइल बनाऊंगा " ऐसा करने के लिए, मैं ब्राउज पर क्लिक करूंगा और फाइल सिस्टम के माध्यम से आगे बढ़ूंगा जैसा कि नीचे की छवि में दिखाया गया है:

अब हम फ्लैट फ़ाइल पैरामीटर कॉन्फ़िगर करेंगे:

  • SQL तालिका से निर्यात किया गया डेटा सीमांकित प्रारूप में संग्रहीत किया जाएगा, इसलिए “D” चुनें सीमितप्रारूप . में ड्रॉप-डाउन बॉक्स जैसा कि नीचे चित्र में दिखाया गया है:

  • शीर्षलेख पंक्ति परिसीमक "{CR}{LF} . होगा ”, इसलिए ड्रॉप-डाउन बॉक्स में उपयुक्त विकल्प चुनें जैसा कि नीचे दी गई छवि में दिखाया गया है:

  • पाठ्य फ़ाइल में, पहली पंक्ति स्तंभ शीर्षलेख होगी इसलिए "पहली डेटा पंक्ति में स्तंभ नाम जांचें" ” जैसा कि नीचे चित्र में दिखाया गया है:

ठीकक्लिक करें “फ्लैट फ़ाइल कनेक्शन प्रबंधक संपादक . को बंद करने के लिए .

अब हम कॉलम मैप करेंगे। ऐसा करने के लिए, “मैपिंग . पर क्लिक करें “फ्लैट फ़ाइल गंतव्य संपादक . के बाईं ओर ” जैसा कि नीचे चित्र में दिखाया गया है:

SQL क्वेरी इनपुट . के नाम के रूप में ” और “पाठ्य फ़ाइल गंतव्य " कॉलम समान हैं, SSIS पैकेज कॉलम को स्वचालित रूप से मैप करता है।

एक बार मैपिंग पूरी हो जाने के बाद, संपूर्ण डेटा प्रवाह कार्य नीचे दी गई छवि की तरह दिखाई देगा:

अब हम पैकेज को निष्पादित कर सकते हैं। ऐसा करने के लिए, "प्रारंभ करें . पर क्लिक करें ” बटन जो मेन्यू बार में स्थित होता है। यदि पैकेज सफलतापूर्वक निष्पादित होता है, तो आप प्रत्येक घटक पर हरे रंग का आइकन देख सकते हैं जैसा कि नीचे दी गई छवि में दिखाया गया है:

SQL तालिका से निकाले गए डेटा का स्क्रीनशॉट नीचे दिया गया है:

सारांश

इस लेख में, मैंने कवर किया है:

  1. ADO.NET कनेक्शन प्रबंधक बनाना
  2. डेटा प्रवाह कार्य बनाना और स्रोत डेटाबेस को कॉन्फ़िगर करना
  3. एक्सेल गंतव्य को कॉन्फ़िगर करना और SQL तालिका से एक्सेल फ़ाइल में डेटा निर्यात करना।
  4. फ्लैट फ़ाइल गंतव्य को कॉन्फ़िगर करना और SQL तालिका से टेक्स्ट फ़ाइल में डेटा निर्यात करना।

उपयोगी टूल:

Devart SSIS डेटा फ़्लो घटक - आपको SQL सर्वर एकीकरण सेवाओं के माध्यम से डेटाबेस और क्लाउड डेटा को एकीकृत करने की अनुमति देता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. समूह में MAX दिनांक रिकॉर्ड में शामिल होना

  2. गतिशील एसक्यूएल बनाम संग्रहित प्रक्रिया

  3. सशर्त एकत्रीकरण प्रदर्शन

  4. SQL सर्वर मैनेजमेंट स्टूडियो (SSMS) में वर्टिकल ब्लॉक्स को चुनें और संपादित करें - SQL सर्वर / TSQL ट्यूटोरियल पार्ट 9

  5. SQL:IF क्लॉज WHERE क्लॉज के भीतर