2010-07-27 8 views
5

मैं एसक्यूएल पर एक SSIS पैकेज पर अमल करने के लिए 2005 निम्नलिखित का उपयोग कर प्रयास कर रहा हूँ:लघु उद्योगों DTEXEC पैकेज चर अंतरिक्ष चरित्र स्वीकार नहीं

dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF 
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\" 

इस पैदावार:

Option "Batch " is not valid. 

के अंत में अंतरिक्ष कोट्स के अंदर बैच शब्द ने मुझे एक संकेत दिया कि शायद यह अंतिम बैकस्लैश को बचने वाले चरित्र के रूप में पेश कर रहा है। इसलिए मैं इसे इस तरह की कोशिश की:

dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF 
/SET "\Package.Variables[FileFolder].Value";"\\\\SomeServer\\Someshare\\Output Batch\\" 

इस चलाने के लिए पैकेज की अनुमति दी है, लेकिन जब इस चर करने के लिए उत्पादन के आंकड़ों के एक FlatFile के नाम के रूप में प्रयोग किया जाता है, यह अब निम्न त्रुटि देता है:

Warning: 2010-07-27 14:36:38.23 
    Code: 0x8007007B 
    Source: Data Flow Task Flat File Destination [72] 
    Description: The filename, directory name, or volume label syntax is incorrect. 
End Warning 
Error: 2010-07-27 14:36:38.23 
    Code: 0xC020200E 
    Source: Data Flow Task Flat File Destination [72] 
    Description: Cannot open the datafile "\\\\SomeServer\\Someshare\\Output Batch\FlatFile.txt". 
End Error 

क्या देता है?

उत्तर

8

erroring datafile लिस्टिंग त्रुटि संदेश में, शब्द बैच के बाद एक बैकस्लैश संकेत है कि शायद ही नहीं बैकस्लैश प्रभावित होता है देता है।

कुछ परीक्षण साबित कर दिया कि कुछ अजीब कारण, जब एक पैकेज चर का अंतिम वर्ण कोई बैकस्लैश होने की जरूरत है के लिए, लघु उद्योगों ऐसा करना आवश्यक हो अप दोगुनी किया जाना है। यह लागू होता है, तब भी जब GUI का उपयोग और प्रकार का एक काम "एसक्यूएल सर्वर एकीकरण सेवाएं पैकेज" का चयन और "सेट मूल्यों" टैब पर क्लिक: एक अनुगामी बैकस्लैश अप दोगुनी हो गया है।

अंतिम काम कर रहे आदेश था:

dtexec /SQL "\MyPackageName" /SERVER mssql1 /MAXCONCURRENT " -1 " /CHECKPOINTING OFF 
/SET "\Package.Variables[FileFolder].Value";"\\SomeServer\Someshare\Output Batch\\" 
एक अंतिम डबल बैकस्लैश के साथ

+0

इस एक Microsoft बग माना जाएगा? –

+0

मुझे लगता है कि बैकस्लैश के साथ उद्धरण से बचने के लिए यह कुछ हद तक मानक है। भागने '" 'या' \ "' और कुछ नहीं संक्षेप में, बैकस्लैश - अजीब बात यह है कि बैकस्लैश ही भागने केवल अनुमति दी है, जब यह एक दोहरे उद्धरण चरित्र से पहले है। यह सामान्य डॉस बैच कमांड व्यवहार हो सकता है - लेकिन मुझे यकीन नहीं है। – ErikE

+0

मैं वास्तव में आपके उपरोक्त प्रश्न और उत्तर की सराहना करता हूं। \ यह विभाजित हैं \\ मेरे "" सर्वर \ मेरी "" \ पथ \ में जब मैं अपने सर्वर \ मेरे पथ \\ की तरह नेटवर्क पथ था जब तक मैं अपने समाधान मिल गया। मैंने पहली बार इस महीने तक शोध करना शुरू कर दिया था जब तक कि मुझे आपकी पोस्ट नहीं मिली। –

संबंधित मुद्दे