我跟着Export table from database to csv file并使用了这个命令行:
sqlcmd -S . -d DataBase -E -s, -W -u -Q "SELECT * FROM Table" > C:/Table.csv
但该文件的第二个用于将第一行的列名称分隔为第三行的数据:
-----------,------,-------,--------,------,------,------,-------,--------,---------,--------,---------,---------,----------
我的目标是在Excel PowerPivot上导入此文件,并且无法告诉它必须忽略第二行。
有没有办法让MSSQL不打印这个分隔符行,或者至少让PowerPivot忽略它?
更新,我能够使用命令
导出数据sqlcmd -S . -d APP_BI -E -s, -W -u -Q "SELECT * FROM DB.dbo.Table" | findstr /V /C:"-" /B > C:\Table.csv
从cmd.exe执行。但是当我将它添加到cmd文件,或直接从MSSQL代理执行它时,我收到错误消息Sqlcmd: '| findstr': Unexpected argument. Enter '-?' for help.
。因此,管道在cmd文件或MSSQL代理中不起作用,他们认为它是sqlcmd的参数。
这导致我开始,我需要一种方法来生成没有该行的csv。