2014-06-27 8 views
5

मैं फ्लैट फ़ाइल में डेटा निर्यात करने के लिए एक एसएसआईएस पैकेज शेड्यूल कर रहा हूं।एसक्यूएल सर्वर एसएसआईएस पैकेज फ्लैट फ़ाइल गंतव्य फ़ाइल नाम पैटर्न (तिथि, समय या इसी तरह)?

लेकिन मैं कुछ तारीख की जानकारी के साथ फ़ाइल नाम उत्पन्न करना चाहते हैं, इस तरह के foo_20140606.csv

के रूप में यह संभव है?

धन्यवाद

+0

संबंधित: ([कैसे SSIS में टाइमस्टैम्प के साथ फ़ाइल नाम पाने के लिए] http://stackoverflow.com/questions/10685999/how-to-get-filename-with-timestamp -इन-एसएसआईएस) – Lijo

उत्तर

15

अभिव्यक्तियों की सहायता से आप कनेक्शन गतिशील बना सकते हैं।

कनेक्शन प्रबंधक फलक से अपने फ्लैट फ़ाइल कनेक्शन का चयन करें। गुण फलक में, अभिव्यक्ति (...) पर क्लिक करें। फिर ड्रॉप डाउन सूची से कनेक्शन स्ट्रिंग प्रॉपर्टी चुनें और अभिव्यक्ति (...) में अपनी अभिव्यक्ति डालें और इसका मूल्यांकन करें।

अभिव्यक्ति का निर्माण -

For day : (DT_STR,4,1252)DAY(DATEADD("dd", -1, getdate())) 
For month: (DT_STR,4,1252)MONTH(DATEADD("dd", -1, getdate())) 
For Year: (DT_STR,4,1252)YEAR(DATEADD("dd", -1, getdate())) 

उदाहरण अभिव्यक्ति (यदि आप अपने आवश्यकता के अनुसार बदलाव करने की जरूरत है) -

"E:\\Backup\\EmployeeCount_"+(DT_STR,4,1252)DATEPART("yyyy" , getdate()) + RIGHT("0" + (DT_STR,4,1252)DATEPART("mm" , getdate()), 2) + RIGHT("0" + (DT_STR,4,1252)DATEPART("dd" , getdate()), 2) +".txt" 

जो E:\Backup\EmployeeCount_20140627.txt मूल्य के रूप में दे रहा है।

कृपया ध्यान दें - आपको एक काम करने वाले फ्लैट फ़ाइल कनेक्शन की आवश्यकता है, इसलिए पहले फ्लैट फ़ाइल कनेक्शन बनाएं जिसका कनेक्शन स्ट्रिंग प्रॉपर्टी को अभिव्यक्ति द्वारा स्वचालित रूप से बदला जा रहा है।

आप चरण-दर-चरण लेखों का भी पालन कर सकते हैं।

ssis dynamically naming destination

SSIS Dynamic Flat File Connection

enter image description here

enter image description here

+1

ओह, मुझे तुम्हारा बेहतर पसंद है, इसमें purdy चित्र हैं! :) – Kritner

1

, कनेक्शन प्रबंधक में अपनी फ़ाइल कनेक्शन का चयन करें गुण के लिए जाने के लिए और भाव बगल में (...) पर क्लिक करें।

संपादक में संपत्ति कॉलम से कनेक्शन स्ट्रिंग का चयन करें। अभिव्यक्ति पाठ बॉक्स में, आप "rootNameOfFile" + (DT_WSTR, 50) (DT_DBDATE) GETDATE की तरह कुछ() + ".csv" प्रवेश कर सकते हैं

सुनिश्चित करें कि आप हो रही है कि आप क्या उम्मीद करने के लिए अपनी अभिव्यक्ति का मूल्यांकन करें, और voila!

0

आप SSDT नहीं है, तो और इस तरह एक जीयूआई के साथ इस संपादित नहीं कर सकते यहाँ कैसे आप SSIS पैकेज सीधे संपादित है :

इससे पहले:

<DTS:ConnectionManager 
     DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]" 
     DTS:ObjectName="DestinationConnectionFlatFile" 
     DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}" 
     DTS:CreationName="FLATFILE"> 
     <DTS:ObjectData> 

के बाद:

<DTS:ConnectionManager 
     DTS:refId="Package.ConnectionManagers[DestinationConnectionFlatFile]" 
     DTS:CreationName="FLATFILE" 
     DTS:DTSID="{C69365C4-EF12-4606-980B-E8862EE997A4}" 
     DTS:ObjectName="DestinationConnectionFlatFile"> 
     <DTS:PropertyExpression 
     DTS:Name="ConnectionString">"C:\\Exportdir\\Filename_" 
+ (DT_WSTR,4)DATEPART("yyyy",GetDate()) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) + 
RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) + "_" + 
RIGHT("0" + (DT_WSTR,2)DATEPART("hh",GetDate()),2)+ 
RIGHT("0" + (DT_WSTR,2)DATEPART("mi",GetDate()),2) + ".csv"  
     </DTS:PropertyExpression> 
     <DTS:ObjectData> 
संबंधित मुद्दे