使用bcp
,我将文件导入SQL Server。我正在使用错误文件参数-e errorfilename.txt
,但即使没有错误,也会为每个bcp
运行创建此文件。如果出现实际错误,是否只能编写错误文件?
答案 0 :(得分:1)
显然这是-e
选项的工作方式; feature_selection
说:
-e err_file指定用于存储bcp实用程序无法从文件传输到的任何行的错误文件的完整路径 数据库。来自bcp命令的错误消息转到工作站 用户。 如果未使用此选项,则不会创建错误文件。
因此,似乎防止创建错误文件的唯一方法是避免使用-e
选项,但这不是您想要的。
作为一种解决方法,您可以使用Powershell运行bcp并在bcp命令完成后删除所有空文件。例如:
$yourPath="F:\bcp_error"
bcp YOUR_DB.YOUR_SCHEMA.YOUR_TABLE in F:\BCP\data_file_1.bcp -c -T -e $yourPath\errorfilename_1.txt
bcp YOUR_DB.YOUR_SCHEMA.YOUR_TABLE in F:\BCP\data_file_2.bcp -c -T -e $yourPath\errorfilename_2.txt
bcp YOUR_DB.YOUR_SCHEMA.YOUR_TABLE in F:\BCP\data_file_n.bcp -c -T -e $yourPath\errorfilename_n.txt
Get-ChildItem -Path $yourPath | where {$_.length -eq 0} | remove-Item