2013-02-05 45 views
1

我想將表中的數據傳輸到文本文件。我嘗試使用bcp實用程序和xp_cmdshell.but導出不成功。使用sql server將數據寫入文本文件

如果我執行以下查詢其工作正常。

EXEC xp_cmdshell 'bcp "SELECT CONTRACT_NUMBER,BODY,SYNOPSIS,2,0 FROM AMPWEBAPP_TEST_DB..TM_DONOT_PUBLISH_TEXT_GRAPHIC_COMMENTS WHERE SYNOPSIS IS NOT NULL AND BODY IS NOT NULL" queryout "C:\bcptest.txt" -c -T -S' 

但我想附加一個值在哪裏條件。下面是我的查詢,它不工作。

DECLARE @ACC VARCHAR(MAX) 
SET @ACC='12121' 

EXEC xp_cmdshell 'bcp "SELECT CONTRACT_NUMBER,BODY,SYNOPSIS,2,0 FROM AMPWEBAPP_TEST_DB..TM_DONOT_PUBLISH_TEXT_GRAPHIC_COMMENTS WHERE SYNOPSIS IS NOT NULL AND BODY IS NOT NULL AND ACCOUNT_NUMBER='[email protected]+'" queryout "C:\bcptest.txt" -c -T -S' 

回答

0

我猜ACCOUNT_NUMBER在這種情況下,varchar場,你應該擁抱12121配額,因爲它是一個varchar常數這樣:

EXEC xp_cmdshell 'bcp "SELECT CONTRACT_NUMBER,BODY,SYNOPSIS,2,0 FROM AMPWEBAPP_TEST_DB..TM_DONOT_PUBLISH_TEXT_GRAPHIC_COMMENTS WHERE SYNOPSIS IS NOT NULL AND BODY IS NOT NULL AND ACCOUNT_NUMBER='''[email protected]+'''" queryout "C:\bcptest.txt" -c -T -S'