加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – 将选择结果写入csv文件

发布时间:2020-12-12 06:14:33 所属栏目:MsSql教程 来源:网络整理
导读:我们需要将SELECT查询结果写入csv文件.如何在SQL Server 2008 r2中使用T-SQL?我知道它可以在SSIS中完成,但由于某些原因,我们没有这个选项. 我尝试在下面的文章中使用建议的proc,但是当我运行proc时,SQL抱怨无法运行在此proc中调用的sys.sp_OACreate和sys.sp_
我们需要将SELECT查询结果写入csv文件.如何在SQL Server 2008 r2中使用T-SQL?我知道它可以在SSIS中完成,但由于某些原因,我们没有这个选项.

我尝试在下面的文章中使用建议的proc,但是当我运行proc时,SQL抱怨无法运行在此proc中调用的sys.sp_OACreate和sys.sp_OADestroy.

您知道我们如何打开这些组件或知道使用T-SQL写入文件的更好方法吗?

提前致谢.

解决方法

使用 BCP utility
bcp "SELECT Col1,Col2,Col3 FROM MyDatabase.dbo.MyTable" queryout "D:MyTable.csv" -c -t,-S SERVERNAME -T

-c参数指定字符输出,而不是SQL的本机二进制格式;默认为制表符分隔值,但-t将字段终止符更改为逗号. -T指定Windows身份验证(“可信连接”),否则使用-U MyUserName -P MyPassword.

默认情况下,这不会导出列标题.您需要使用UNION ALL作为标头

要么

使用SQLCMD

SQLCMD -S SERVERNAME -E -Q "SELECT Col1,Col3 FROM MyDatabase.dbo.MyTable"
-s "," -o "D:MyData.csv"

要么

使用Powershell

这是一个link to an article.如果你最终使用它,你可能想在Export-Csv $extractFile之后附加-notype来摆脱输出文件中不必要的列.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读