1

テーブルからテキストファイルにデータを転送したいのですが、bcpユーティリティとxp_cmdshellを使用しようとしていますが、エクスポートが成功しません。

以下のクエリを実行すると、正常に動作します。

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'  

しかし、where条件に値を追加したいと思います。以下は私のクエリですが、機能していません。

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='+@ACC+'" queryout "C:\bcptest.txt" -c -T -S'
4

1 に答える 1

0

varcharACCOUNT_NUMBERはこの場合のフィールドだと思います。この場合、定数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='''+@ACC+'''" queryout "C:\bcptest.txt" -c -T -S'
于 2013-02-05T14:03:50.090 に答える