दिलचस्प पोस्ट
MockMvc का उपयोग करके एक वसंत नियंत्रक विधि कैसे परीक्षण करें? सी # धागा सुरक्षा प्राप्त / सेट के साथ स्पार्क जॉब के लिए जार जोड़ें – स्पार्क-सबमिट करें एंड्रॉइड: प्रोग्रामेटिक रूप से लेआउट के आकार को कैसे सेट करें अंतराल की सूची में अंतराल ओवरलैप की तलाश है? एक्स में अंतर क्या है: संदर्भ और तत्व नाम? matplotlib अक्ष लेबल प्रारूप कैसे एक UIImage 90 डिग्री घुमाएगी? सीएसएस का उपयोग कर सही से एक पृष्ठभूमि की छवि ऑफसेट C99 में सरणी अनुक्रमणिका के लिए प्रकार एक पारदर्शी केंद्रित तीर के साथ सीमा स्थानीय MySQL सर्वर से सॉकेट '/tmp/mysql.sock' से कनेक्ट नहीं हो सकता इवेंट हैंडलर्स सुरक्षित नहीं थ्रेड? क्या URL केस संवेदनशील हो? C ++ प्रोग्राम में एकाधिक .cpp फ़ाइलों का उपयोग करना?

फ़ाइलों को संसाधित करने के बाद मैं फ़ाइलों को एक संग्रह फ़ोल्डर में कैसे स्थानांतरित कर सकता हूं?

एक बार मैं कुछ डाटा फ्लो टास्क आइटमों को पूरा करने के बाद स्रोत पथ से फ़ाइलों का एक संग्रह संग्रह संग्रह में संग्रहित करने की कोशिश कर रहा हूं I एक Foreach लूप कंटेनर के अंदर मेरे पास है: स्क्रिप्ट टास्क -> डेटा फ्लो टास्क -> एसक्यूएल कार्य निष्पादित करें -> फाइल सिस्टम कार्य

Foreach Loop कंटेनर में संग्रह सेटिंग्स के तहत मेरे पास "नाम और एक्सटेंशन" आइटम पर एक उपयोगकर्ता चर सेट है वेरिएबल को "फाइलनाम" कहा जाता है और इसे स्क्रिप्ट टास्क (फाइल से जानकारी को पार्स करने और एक्जिक्यूट एसक्यूएल कार्य निष्पादित करने के लिए प्रयोग किया जाता है) के साथ-साथ फ्लैट फाइल कनेक्शन मैनेजर में डाटा फ्लो टास्क में भी प्रयोग किया जाता है जो बदले में उपयोग किया जाता है। फ्लैट फ़ाइल स्रोत तत्व मैं तब फ़ाइल को पार्स करता हूं और डाटाबेस में डेटा डालें। जब तक मैं फ़ाइल सिस्टम कार्य (एफएसटी) तक नहीं पहुंचता तब तक सभी कार्य करता है

मैं क्या चाहता हूं कि एक बार फाइल को संग्रह के फ़ोल्डर में स्थानांतरित करने के लिए एक बार डालने का कार्य पूरा हो जाए। कई लिंक ऑनलाइन ( यहां , यहां और यहां ) का उपयोग करते हुए मैंने अलग-अलग वैरिएबल्स जोड़ लिए हैं जो या तो हार्ड-कोडित हैं या अन्य वैरिएबल मालिश से प्राप्त किए हैं। किसी भी मामले में ऐसा होता है कि एफएसटी पर मुझे 'रास्ते में अवैध अक्षर' या 'अज्ञात मार्ग' जैसी त्रुटियां मिलती हैं। अगर मैं अपनी फाइल सिस्टम संरचना को फिट करने के लिए ऊपर लिखे गए उदाहरणों को मालिश करने की कोशिश करता हूं तो मुझे डेटा फ्लो टास्क में फ्लैट फाइल स्रोत चरण में एक त्रुटि मिलती है, जिसे यह निर्दिष्ट फ़ाइल नहीं मिल पा रहा है। ऐसा इसलिए होता है क्योंकि यह क) फ़ाइल का पथ नहीं ढूँढ सकता क्योंकि कोई फ़ाइल पथ नहीं है, केवल filname.ext ब) वेरिएबल को पार्स नहीं कर सकता है जिसमें स्रोत फ़ाइल ( @FullSourcePathFileName ) का पूरा पथ है जिस पर इसका मान सेट है @[User::SourcePath] + @[User::fileName] )

मैंने कई अन्य संशोधनों का परीक्षण किया है, जिनके साथ मैं पहली बार पोस्ट किया था (जो कि वास्तव में डेटा फ्लो टास्क में कुछ भी नहीं करता है, इसलिए मैंने अभी कोई फ़्लाट फाइल स्रोत को कोई गंतव्य नहीं जोड़ा) और त्रुटियों का एक ही सेट प्राप्त किया है। । मैं यहां एक नुकसान में हूं और इस मुद्दे को हल करने के बारे में कोई इनपुट करना चाहता हूं।

संपादित करें: ऐसा लगता है कि यह FullArchivePathFileName पर विफल रहता है – यह अभिव्यक्ति का मूल्यांकन कभी नहीं करता है, भले ही मैंने इसे 'ट्रू' पर सेट किया हो। अभी भी यह क्यों नहीं मूल्यांकन कर रहा है के रूप में उलझन में इसलिए मैंने अपनी अभिव्यक्ति को FullSourcePathFileName के समान बना दिया और सत्यापित किया कि EvaluateAxpression flag को True पर सेट किया गया है। यह अभी भी इस वैरिएबल का मूल्यांकन नहीं करता है। FullSourcePathFileName चर का मूल्यांकन किया जा रहा है ठीक है।

Solutions Collecting From Web of "फ़ाइलों को संसाधित करने के बाद मैं फ़ाइलों को एक संग्रह फ़ोल्डर में कैसे स्थानांतरित कर सकता हूं?"

SSIS 2005 में बनाए गए उदाहरण निम्नलिखित दिए गए फ़ोल्डर से सीएसवी फ़ाइलों को पढ़ता है और SQL तालिका में डेटा को सम्मिलित करता है। एसक्यूएल में डेटा आयात करने के बाद, फाइलें फाइल सिस्टम टास्क का उपयोग कर एक संग्रह फोल्डर में ले जाई जाती हैं।

चरण-दर-चरण प्रक्रिया:

  1. पथ नामक एक फ़ोल्डर बनाएँ पथ सी में: \ temp। नामित दो सीएसवी फाइलें File_1.csv और File_2.csv और उन्हें डेटा के साथ पॉप्युलेट करें। रिक्त फोल्डर खाली छोड़ें स्क्रीनशॉट # 1 – # 4 का संदर्भ लें

  2. SSIS पैकेज पर स्क्रीनशॉट # 5 में दिखाए गए अनुसार 5 वैरिएबल बनाते हैं मान C:\temp\ साथ चर RootFolder सेट करें। मान *.csv साथ चर FilePattern सेट करें

  3. गुणों को खोलने के लिए वेरिएबल फ़ाइलपथ चुनें और F4 दबाएं, गुण EvaluateAsExpression को True पर True और एक्सप्रेशन प्रॉपर्टी @[User::RootFolder] + @[User::FileName] साथ मूल्य निर्धारित करें @[User::RootFolder] + @[User::FileName] जैसा स्क्रीनशॉट # 6 में दिखाया गया है।

  4. गुणों को खोलने के लिए चर का @[User::RootFolder] + "Archive\\" चुनें और एफ 4 दबाएं, संपत्ति मूल्यांकन EvaluateAsExpression को True पर True और एक्सप्रेशन प्रॉपर्टी @[User::RootFolder] + "Archive\\" साथ एक्सप्रेशन प्रॉपर्टी को सेट करें @[User::RootFolder] + "Archive\\" जैसा कि स्क्रीनशॉट # 7 में दिखाया गया है।

  5. SSIS पैकेज के कनेक्शन प्रबंधक पर, सीएसवी नामक एक नई फ़्लैट फ़ाइल कनेक्शन बनाएं स्क्रीनशॉट # 8 को देखें स्क्रीनशॉट # 9 – # 13 में दिखाए अनुसार फ्लैट फ़ाइल कनेक्शन को कॉन्फ़िगर करें इसके अलावा, SQL सर्वर डेटाबेस से कनेक्ट करने के लिए SQLServer नामक एक OLE DB कनेक्शन बनाएँ। कनेक्शन के बाद बनाया गया है, यह स्क्रीनशॉट # 14 में दिखाया गया जैसा दिखना चाहिए।

  6. फ्लैट फ़ाइल कनेक्शन सीएसवी पर राइट-क्लिक करें और गुणों को चुनें और स्क्रीनशॉट # 15 – # 16 में दिखाए गए अनुसार अंडाकार बटन का उपयोग करके मूल्य = [उपयोगकर्ता :: फाइलपाथ] के साथ कनेक्शन स्ट्रिंग अभिव्यक्ति को कॉन्फ़िगर करें।

  7. एसक्यूएल सर्वर में dbo.Items नामक तालिका बनाएँ SQL स्क्रिप्ट्स अनुभाग के अंतर्गत प्रदान की गई स्क्रिप्ट का उपयोग कर। सीएसवी फाइल डेटा इस तालिका में डाला जाएगा।

  8. नियंत्रण प्रवाह टैब पर, Foreach Loop container , Data Flow Task और File System Task को स्क्रीनशॉट # 17 में दिखाए अनुसार रखें।

  9. स्क्रीनशॉट # 18 – # 19 में दिखाए गए अनुसार Foreach लूप कंटेनर को कॉन्फ़िगर करें

  10. डेटा फ्लो टास्क के अंदर, एक फ्लैट फाइल स्रोत, व्युत्पन्न कॉलम परिवर्तन और एक ओएलई डीबी डेस्टिनेशन स्क्रीनशॉट # 20 में दिखाया गया है।

  11. स्क्रीनशॉट # 21 और # 22 में दिखाए गए अनुसार फ़्लैट फ़ाइल स्रोत कॉन्फ़िगर करें यह सीएसवी फाइलों से डेटा पढ़ा जाएगा

  12. व्युत्पन्न कॉलम रूपांतरण को स्क्रीनशॉट # 23 में दिखाए अनुसार कॉन्फ़िगर करें इसका उपयोग उसी नाम के वैरिएबल का उपयोग करके FilePath स्तंभ मान बनाने के लिए किया जाता है।

  13. स्क्रीनशॉट # 24 और @ 25 में दिखाए अनुसार ओएलई डीबी डेस्टिनेशन को कॉन्फ़िगर करें यह डेटा SQL तालिका में डालेंगे।

  14. नियंत्रण फ्लो टैब पर, स्क्रीनशॉट # 26 में दिखाए अनुसार फ़ाइल सिस्टम कार्य को कॉन्फ़िगर करें कृपया ध्यान दें कि फ़ाइल फ़ाइल को ले जाने के दौरान, DestinationVariable को केवल एक निर्देशिका के रूप में निर्दिष्ट किया जा सकता है और इसे पूर्ण फ़ाइल पथ के रूप में निर्दिष्ट नहीं किया जा सकता है। यदि आप फ़ाइल पथ निर्दिष्ट करते हैं, तो आपको त्रुटि संदेश [File System Task] Error: An error occurred with the following error message: "Could not find a part of the path.". मिलेगी [File System Task] Error: An error occurred with the following error message: "Could not find a part of the path.".

  15. स्क्रीनशॉट # 28 दिखाता है कि पैकेज निष्पादन से पहले तालिका में कोई डेटा नहीं है।

  16. स्क्रीनशॉट्स # 29 और # 30 नियंत्रण फ़ॉव और डेटा फ़्लो टैब के अंदर शो के पैकेज निष्पादन

  17. स्क्रीनशॉट्स # 31 और # 32 दिखाती हैं कि फ़ाइलें संग्रह फ़ोल्डर में स्थानांतरित कर दी गई हैं।

  18. स्क्रीनशॉट # 33 पैकेज निष्पादन के बाद तालिका में डेटा दिखाता है।

  19. फ़ाइल सिस्टम कार्य पर, संपत्ति OverwriteDestination को गलत पर सेट किया गया था (यह डिफ़ॉल्ट मान है)। अगर आप समान फ़ोल्डर की फ़ाइलों को संग्रह फ़ोल्डर में ले जा रहे हैं, तो आपको त्रुटि मिलेगी [File System Task] Error: An error occurred with the following error message: "Cannot create a file when that file already exists. ". स्क्रीनशॉट # 34 में दिखाया गया इस सेट से बचने के लिए ओवरराइटडेस्टिनेशन को सही या अन्य विकल्प फाइलों का नाम बदलने और संग्रह फ़ोल्डर में इसे कॉपी करने के लिए और फिर उन्हें हटाएं।

उम्मीद है की वो मदद करदे।

SQL स्क्रिप्ट:

 CREATE TABLE [dbo].[Items]( [Id] [int] IDENTITY(1,1) NOT NULL, [ItemNumber] [varchar](30) NOT NULL, [Price] [numeric](18, 2) NOT NULL, [FilePath] [varchar](255) NOT NULL, CONSTRAINT [PK_Items] PRIMARY KEY CLUSTERED ([Id] ASC)) ON [PRIMARY] GO 

स्क्रीनशॉट # 1:

1

स्क्रीनशॉट # 2:

2

स्क्रीनशॉट # 3:

3

स्क्रीनशॉट # 4:

4

स्क्रीनशॉट # 5:

5

स्क्रीनशॉट # 6:

6

स्क्रीनशॉट # 7:

7

स्क्रीनशॉट # 8:

8

स्क्रीनशॉट # 9:

9

स्क्रीनशॉट # 10:

10

स्क्रीनशॉट # 11:

1 1

स्क्रीनशॉट # 12:

12

स्क्रीनशॉट # 13:

13

स्क्रीनशॉट # 14:

14

स्क्रीनशॉट # 15:

15

स्क्रीनशॉट # 16:

16

स्क्रीनशॉट # 17:

17

स्क्रीनशॉट # 18:

18

स्क्रीनशॉट # 1 9:

19

स्क्रीनशॉट # 20:

20

स्क्रीनशॉट # 21:

21

स्क्रीनशॉट # 22:

22

स्क्रीनशॉट # 23:

23

स्क्रीनशॉट # 24:

24

स्क्रीनशॉट # 25:

25

स्क्रीनशॉट # 26:

26

स्क्रीनशॉट # 27:

27

स्क्रीनशॉट # 28:

28

स्क्रीनशॉट # 29:

29

स्क्रीनशॉट # 30:

30

स्क्रीनशॉट # 31:

31

स्क्रीनशॉट # 32:

32

स्क्रीनशॉट # 33:

33

स्क्रीनशॉट # 34:

34