Sql server BCP实用性:如何获取导入的记录数
在bcp实用程序中,导入/导出时,命令行将显示复制的行数。 我试图得到那个号码,以便在另一个处理中使用,但我做不到。 命令行是:Sql server BCP实用性:如何获取导入的记录数,sql-server,bcp,Sql Server,Bcp,在bcp实用程序中,导入/导出时,命令行将显示复制的行数。 我试图得到那个号码,以便在另一个处理中使用,但我做不到。 命令行是: bcp AdventureWorks2012.HumanResources.Department out D:\Department_Test.txt -S SERVER_NAME -T -c 结果是: Starting Copy... 16 rows copied. .... 请帮我获取复制的行数 我尝试在命令行中使用FINDSTR查找复制的行,这可以解决该问
bcp AdventureWorks2012.HumanResources.Department out D:\Department_Test.txt -S SERVER_NAME -T -c
结果是:
Starting Copy...
16 rows copied.
....
请帮我获取复制的行数
我尝试在命令行中使用FINDSTR查找复制的行,这可以解决该问题,但我想找到更好的解决方案
谢谢你拿着这个:
bcp AdventureWorks2012.HumanResources.Department out D:\Department_Test.txt -S SERVER_NAME -T -c
您正在提取整个表,因此可以尝试
bcp "SELECT count(*) FROM AdventureWorks2012.HumanResources.Department" queryout D:\Department_Rows.txt -S SERVER_NAME -T -c
这将把表中的记录数输出到一个单独的txt文件中
或者,您可以使用BCPROWCOUNT
(返回受当前(或上次)BCP操作影响的行数。)
你可以读到这篇文章这是一篇黑客文章
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的编号。我必须使用命令行来执行。我怎么做?谢谢