मैं इस उत्तर की पेशकश नहीं करूंगा सिवाय इसके कि आपने इसे दस्तावेज करने के लिए इतनी मेहनत की है और इसे एक महीने के बाद कोई जवाब नहीं मिला है। तो, यहाँ जाता है। आपके एकमात्र विकल्प डेटा को बदलने या उपकरण को बदलने के लिए प्रतीत होते हैं।
जब उपकरण टूट जाता है और विक्रेता परवाह नहीं करता है, तो कोशिश करते रहना गलती है। यह स्विच करने का समय है। आपने वास्तव में यह शोध करने में बहुत प्रयास किया है कि यह कैसे टूटा है और यह प्रदर्शित करता है कि यह न केवल आरएफसी बल्कि उपकरण के अपने पूर्व संस्करण का उल्लंघन करता है। आपको और कितने सबूत चाहिए?
सीएसवी एक बोट एंकर भी है। यदि आपके पास विकल्प है, तो आप सामान्य सीमांकित फ़ाइल स्वरूप का उपयोग करना बेहतर समझते हैं। बहुत सारे अनुप्रयोगों के लिए, टैब-सीमांकित अच्छा है। सबसे अच्छा सीमांकक IMO '\' है क्योंकि उस वर्ण का अंग्रेजी पाठ में कोई स्थान नहीं है। (दूसरी ओर यह विंडोज़ पथनाम वाले डेटा के लिए काम नहीं करेगा।)
विनिमय प्रारूप के रूप में CSV में दो समस्याएं हैं। सबसे पहले, यह सब मानक नहीं है; अलग-अलग एप्लिकेशन अलग-अलग संस्करणों को पहचानते हैं, RFC कुछ भी कह सकता है। दूसरा (और संबंधित) यह है कि यह एक नियमित भाषा . का गठन नहीं करता है सीएस शब्दों में, यही कारण है कि इसे नियमित अभिव्यक्ति के रूप में पार्स नहीं किया जा सकता है। ^([^\t]*\t)*[\t]*$
. से तुलना करें एक टैब-सीमांकित लाइन के लिए। सीएसवी की परिभाषा की जटिलता का व्यावहारिक निहितार्थ है (ऊपर देखें) उन्हें संभालने के लिए उपकरणों की सापेक्ष कमी और असंगत होने की उनकी प्रवृत्ति, विशेष रूप से तड़के।
यदि आप CSV और DTS को बूट देते हैं, तो आपके पास अच्छे विकल्प हैं, जिनमें से एक है bcp.exe
. यह बहुत तेज़ और सुरक्षित है क्योंकि Microsoft ने इसे वर्षों से अद्यतन करने के लिए परीक्षा नहीं दी है। मुझे डीटीएस के बारे में ज्यादा जानकारी नहीं है, लेकिन अगर आपको इसे ऑटोमेशन के लिए इस्तेमाल करना है, तो आईआईआरसी बाहरी उपयोगिताओं को लागू करने का एक तरीका है। हालांकि सावधान रहें, कि bcp.exe
शेल में त्रुटि स्थिति को भरोसेमंद रूप से वापस नहीं करता है।
यदि आप डीटीएस का उपयोग करने और सीएसवी के साथ बने रहने के लिए दृढ़ हैं, तो वास्तव में आपका सबसे अच्छा विकल्प एक दृश्य लिखना है जो इसके लिए डेटा को उचित रूप से तैयार करता है। मैं, अगर उस कोने में समर्थित होता, तो "DTS2012CSV" नामक एक स्कीमा बनाता, ताकि मैं लिख सकूं select * from DTS2012CSV.tablename
, किसी ऐसे व्यक्ति को देना जो लड़ाई की परवाह करता है इसे समझने का मौका देता है (क्योंकि आप इसे दस्तावेज करेंगे, क्या आप दृश्य पाठ में टिप्पणियों में नहीं करेंगे?) यदि आवश्यक हो, तो अन्य अन्य टूटे हुए अर्क के लिए इसकी तकनीक की नकल कर सकते हैं।
एचटीएच।