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

SQL सर्वर में CSV फ़ाइल आयात करें

आधारित SQL सर्वर CSV आयात

<ब्लॉकक्वॉट>

1) CSV फ़ाइल डेटा में , . हो सकता है (अल्पविराम) बीच में (उदा:विवरण), तो मैं इन डेटा को आयात करने के लिए कैसे आयात कर सकता हूं?

समाधान

यदि आप , . का उपयोग कर रहे हैं (अल्पविराम) एक सीमांकक के रूप में, तो फ़ील्ड टर्मिनेटर के रूप में अल्पविराम और आपके डेटा में अल्पविराम के बीच अंतर करने का कोई तरीका नहीं है। मैं एक अलग FIELDTERMINATOR . का उपयोग करूंगा जैसे || . कोड ऐसा दिखेगा और यह कॉमा और सिंगल स्लैश को पूरी तरह से हैंडल करेगा।

<ब्लॉकक्वॉट>

2) यदि क्लाइंट एक्सेल से सीएसवी बनाता है तो डेटा जिसमें अल्पविराम है " ... " के भीतर संलग्न हैं (दोहरे उद्धरण) [नीचे के उदाहरण के रूप में] तो आयात इसे कैसे संभाल सकता है?

समाधान

यदि आप बल्क इंसर्ट का उपयोग कर रहे हैं तो डबल कोट्स को संभालने का कोई तरीका नहीं है, डेटा डबल कोट्स के साथ पंक्तियों में डाला जाएगा। डेटा को टेबल में डालने के बाद आप उन डबल कोट्स को ' से बदल सकते हैं। '।

update table
set columnhavingdoublequotes = replace(columnhavingdoublequotes,'"','')
<ब्लॉकक्वॉट>

3) अगर कुछ पंक्तियों में खराब डेटा है, तो हम कैसे ट्रैक करते हैं, जो आयात छोड़ देता है?(क्या आयात करने योग्य पंक्तियों को आयात नहीं करता है)?

समाधान

अमान्य डेटा या प्रारूप के कारण तालिका में लोड नहीं की गई पंक्तियों को संभालने के लिए, ERRORFILE संपत्ति का उपयोग करके व्यवहार किया जा सकता है, त्रुटि फ़ाइल नाम निर्दिष्ट करें, यह त्रुटि फ़ाइल में रोशविंग त्रुटि लिख देगा। कोड जैसा दिखना चाहिए।

BULK INSERT SchoolsTemp
    FROM 'C:\CSVData\Schools.csv'
    WITH
    (
    FIRSTROW = 2,
    FIELDTERMINATOR = ',',  --CSV field delimiter
    ROWTERMINATOR = '\n',   --Use to shift the control to next row
    ERRORFILE = 'C:\CSVDATA\SchoolsErrorRows.csv',
    TABLOCK
    )


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर पर VMware CPU हॉट प्लग vNUMA प्रभाव

  2. मैं SQL सर्वर में ऑटो वृद्धि मूल्य के साथ स्ट्रिंग कैसे जोड़ूं?

  3. SQL सर्वर में लॉगऑन ट्रिगर

  4. एकाधिक तालिकाओं में शामिल होने से NULL मान लौटाता है

  5. SQL सर्वर में अस्थायी तालिकाओं का दायरा