sql-server - BCP实用程序: How to get number of record imported

标签 sql-server bcp

在 bcp 实用程序中,导入/导出时,命令行将向我们显示复制的行数。 我尝试获取该号码以在其他处理中使用,但我不能。 命令行是:

bcp AdventureWorks2012.HumanResources.Department out D:\Department_Test.txt -S SERVER_NAME -T -c

结果:

Starting Copy...
16 rows copied. 
....

请帮我获取复制的行数。

我尝试在命令行中使用FINDSTR来查找复制的行,它可以解决该问题,但我想找到更好的解决方案。

谢谢

最佳答案

这是一个黑客行为。

DECLARE @output TABLE (id INT IDENTITY, command NVARCHAR(256))

Declare @sql varchar(8000)='bcp AdventureWorks2012.HumanResources.Department out D:\Department_Test.txt -S SERVER_NAME -T -c'

INSERT INTO @output
exec master..xp_cmdshell  @sql

SELECT cast(Replace(command,' rows copied.','') as int) FROM @output where command like '% rows copied.' 

关于sql-server - BCP实用程序: How to get number of record imported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25781576/

相关文章:

sql - 如何编写分位数聚合函数?

sql-server-2008 - bcp 如何比 SSMS 更快地将简单查询结果写入磁盘?

sql-server - 为什么在 MS SQL Server 中批量插入时收到 "XML parsing: line 2, character 0, incorrect document syntax"

boost - 为什么Boost的`bcp smart_ptr dir/`复制6MB的源代码?

SQL在没有子查询的情况下在同一个表中组合两个查询

sql - 如何找到表格中的最大值

java - 关闭自动提交如何帮助在 JDBC 中启动事务?

sql - T-SQL 相当于 =rand()

sql - 优化对不相关表的大量插入

database - Sybase bcp 错误