यह विधि स्वचालित रूप से बीसीपी का उपयोग करके कॉलम नामों को आपके पंक्ति डेटा के साथ आउटपुट करती है।
स्क्रिप्ट कॉलम हेडर के लिए एक फाइल लिखती है (INFORMATION_SCHEMA.COLUMNS
से पढ़ें) तालिका) फिर तालिका डेटा के साथ एक और फ़ाइल जोड़ता है।
अंतिम आउटपुट TableData.csv
. में संयुक्त है जिसमें हेडर और रो डेटा है। सर्वर, डेटाबेस और तालिका का नाम निर्दिष्ट करने के लिए बस शीर्ष पर पर्यावरण चर बदलें।
set BCP_EXPORT_SERVER=put_my_server_name_here
set BCP_EXPORT_DB=put_my_db_name_here
set BCP_EXPORT_TABLE=put_my_table_name_here
BCP "DECLARE @colnames VARCHAR(max);SELECT @colnames = COALESCE(@colnames + ',', '') + column_name from %BCP_EXPORT_DB%.INFORMATION_SCHEMA.COLUMNS where TABLE_NAME='%BCP_EXPORT_TABLE%'; select @colnames;" queryout HeadersOnly.csv -c -T -S%BCP_EXPORT_SERVER%
BCP %BCP_EXPORT_DB%.dbo.%BCP_EXPORT_TABLE% out TableDataWithoutHeaders.csv -c -t, -T -S%BCP_EXPORT_SERVER%
set BCP_EXPORT_SERVER=
set BCP_EXPORT_DB=
set BCP_EXPORT_TABLE=
copy /b HeadersOnly.csv+TableDataWithoutHeaders.csv TableData.csv
del HeadersOnly.csv
del TableDataWithoutHeaders.csv
ध्यान दें कि यदि आपको क्रेडेंशियल की आपूर्ति करने की आवश्यकता है, तो -T विकल्प को -U my_username -P my_password
से बदलें।
INFORMATION_SCHEMA.COLUMNS
का उपयोग करके इस पद्धति का हमेशा स्तंभ नामों को तालिका के साथ समन्वयित करने का लाभ है . नकारात्मक पक्ष यह है कि यह अस्थायी फ़ाइलें बनाता है। Microsoft को इसका समर्थन करने के लिए वास्तव में bcp उपयोगिता को ठीक करना चाहिए।
यह समाधान यहां से बीसीपी विचारों के साथ संयुक्त यहां से SQL पंक्ति संयोजन चाल का उपयोग करता है