以下是 BCP 声明的示例。我不习惯使用 BCP,因此非常感谢您的帮助和坦率
我也将它与格式文件一起使用。
如果我从 CMD 提示符执行它工作正常,但从 SQL 我得到错误。BCP 语句都在一行上,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
除文档日期之外的每一列。