以下は、BCP ステートメントの例です。私はBCPの使用に慣れていないので、あなたの助けと率直さは大歓迎です
フォーマットファイルでも使用しています。
CMD プロンプトから実行すると正常に動作しますが、SQL からはエラーが発生します。BCP ステートメントはすべて 1 行であり、SQL Server エージェントはローカル システムとして実行されています。SQL サーバーとスクリプトは同じシステム上にあります。
exec master..xp_fixeddrives C,45589 E,423686 を実行しました
同じ結果でCとEに出力しようとしました
EXEC xp_cmdshell 'bcp "Select FILENAME, POLICYNUMBER, INSURED_DRAWER_100, POLICY_INFORMATION, DOCUMENTTYPE, DOCUMENTDATE, POLICYYEAR FROM data.dbo.max" queryout "E:\Storage\Export\Data\max.idx" -fmax-c.fmt -SSERVERNAME -T
ここにフォーマットファイル rmax-c.fmt があります
10.0
7
1 SQLCHAR 0 255 "$#Y#$" 1 FILENAME
2 SQLCHAR 0 40 "" 2 POLICYNUMBER
3 SQLCHAR 0 40 "" 3 INSURED_DRAWER_100
4 SQLCHAR 0 40 "" 4 POLICY_INFORMATION
5 SQLCHAR 0 40 "" 5 DOCUMENTTYPE
6 SQLCHAR 0 40 "" 6 DOCUMENTDATE
7 SQLCHAR 0 8 "\r\n" 7 POLICYYEAR
この投稿のフォーマットにより、フォーマット ファイルの最後の列が切り取られていますが、SQL_Latin1_General_CP1_CI_AS
ドキュメントの日付以外の各列を読み取ります。