从 sqlcmd 输出文件中删除列 space
Remove column space from sqlcmd output file
我正在尝试使用 sqlcmd 将存储过程的结果输出到文本文件。但是,它在结果列之间放置了一个 space (默认分隔符),我需要将其删除。我正在使用下面的代码,并尝试不指定任何内容作为列分隔符,请参见下面的代码 (-s ""),但这不起作用。它给了我一个丢失的参数错误。
sqlcmd -S Server name -U Username-P Password -d Db name-Q
"exec Stored procedure" -h -1 -s "" -o c:\newtest.txt
如何不指定分隔符?
可以用bcp来完成,使用-t 0x90
-t是bcp中的字段终止符。您可以在存储过程和表上使用它,因此它应该可以满足您的所有需求。
我刚刚验证了这个有效:
bcp dbname.dbo.tablename out "c:\test.txt" -S serveraddress -U username -P password -t 0x90 -c
使用存储过程类似于:
bcp "EXEC YourDatabaseNameGoesHere.dbo.sp_myproc ''0123,0234,0345''"
我正在尝试使用 sqlcmd 将存储过程的结果输出到文本文件。但是,它在结果列之间放置了一个 space (默认分隔符),我需要将其删除。我正在使用下面的代码,并尝试不指定任何内容作为列分隔符,请参见下面的代码 (-s ""),但这不起作用。它给了我一个丢失的参数错误。
sqlcmd -S Server name -U Username-P Password -d Db name-Q
"exec Stored procedure" -h -1 -s "" -o c:\newtest.txt
如何不指定分隔符?
可以用bcp来完成,使用-t 0x90
-t是bcp中的字段终止符。您可以在存储过程和表上使用它,因此它应该可以满足您的所有需求。
我刚刚验证了这个有效:
bcp dbname.dbo.tablename out "c:\test.txt" -S serveraddress -U username -P password -t 0x90 -c
使用存储过程类似于:
bcp "EXEC YourDatabaseNameGoesHere.dbo.sp_myproc ''0123,0234,0345''"