我想要做的是将一些查询结果输出到文件。基本上,当我查询我感兴趣的表时,我的结果看起来像这样:
HTML_ID HTML_CONTENT
1 <html>...
2 <html>...
3 <html>...
4 <html>...
5 <html>...
6 <html>...
7 <html>...
字段HTML_CONTENT
的类型为ntext
,每个记录的值大约为500多个字符(包含HTML内容)。
我可以创建一个游标来将每个记录的内容移动到临时表或其他任何内容。
但我的问题是:如果不使用BCP
,我将如何移动它?
BCP
不是一个选项,因为我们sysadmin
已阻止对sys.xp_cmdshell
的访问权限。
注意:我想要store each record's HTML content to individual files
我的sql版本是:Microsoft SQL Server 2008 (SP1) - 10.0.2531.0
答案 0 :(得分:0)
这个答案一直有效,直到你添加了对单个文件的要求。
您可以从命令行运行SQL并将输出转储到文件中。可以使用以下实用程序。
以下是带有内联查询的SQLCMD的示例
sqlcmd -S ServerName -E -Q "Select GetDate() CurrentDateAndTime" > output.txt
您可以将查询保存到文件(QueryString.sql)并使用-i
代替
sqlcmd -S ServerName -E -i QueryString.sql> output.txt
修改强>
使用SSIS
答案 1 :(得分:0)
您可以使用SSIS读取表数据并将表行的内容输出为文件。在SSIS包的数据流任务中可用的导出列转换可能有助于您这样做。
以下是一个示例,The Export Column Transformation
关于导出列转换的