2012-08-27 15 views
7

मैं एक संग्रहीत प्रक्रिया (SQL सर्वर 2005) डीबग करता हूं और मुझे डेटाटेबल में कुछ मानों को खोजने की आवश्यकता है।एक पाठ फ़ाइल में SQL क्वेरी निर्यात करने के लिए बीसीपी उपयोगिता का उपयोग

प्रक्रिया एप्लिकेशन की एक घटना द्वारा चलायी जाती है और मैं केवल डीबगिंग आउटपुट देखता हूं।

मैं अपने संग्रहीत प्रक्रिया (SQL सर्वर 2005) के बाद, मैं एक प्रणाली तालिका (master.dbo.spt_values) उदाहरण के रूप में ले लिया है:

set @logtext = 'select name, type from master.dbo.spt_values where number=6' 
--set @logtext = 'master.dbo.spt_values' 
SET @cmd = 'bcp ' + @logtext + ' out "c:\spt_values.dat" -U uId -P uPass -c' 
EXEC master..XP_CMDSHELL @cmd 

तो, जब मैं दूसरी uncomment सब कुछ काम करती है, एक फ़ाइल सी: \ ड्राइव पर पहनी जाती है ... लेकिन अगर मैं इसे केवल पहली पंक्ति छोड़कर वापस आती हूं, तो कोई भी आउटपुट उत्पन्न होता है।

इस समस्या को कैसे ठीक करें?

उत्तर

14

bcp out निर्यात तालिकाओं।

बजाय एक प्रश्न उपयोग queryout निर्यात करने के लिए - आप "डबल कोट्स"

set @logtext = '"select name, type from master.dbo.spt_values where number=6"' 
--set @logtext = 'master.dbo.spt_values' 
SET @cmd = 'bcp ' + @logtext + ' queryout "c:\spt_values.dat" -U uId -P uPass -c' 
EXEC master..XP_CMDSHELL @cmd 

http://msdn.microsoft.com/en-us/library/ms162802.aspx

में आपकी क्वेरी रैप करने के लिए की आवश्यकता होगी
संबंधित मुद्दे