将 SQL Server 表导出到多个文件
Posted
技术标签:
【中文标题】将 SQL Server 表导出到多个文件【英文标题】:Exporting SQL Server Table to multiple files 【发布时间】:2016-06-30 22:38:16 【问题描述】:我需要导出每个文件中的每个选定记录,并将相应的 id 和用户名作为文件名。
| ID | Username | JobType |
| 1 | Ram | Testing |
| 2 | Raj | Developer|
我需要将以上所有内容导出为每个记录的单个文件,该文件应仅由文本文件中的 jobType 和文件名 _.txt 组成
我知道BCP,但是不知道上面的怎么做。
例如:
FileName : Ram_1.txt.
content of the file : Testing
【问题讨论】:
这对于 .Net 来说很简单。我很想知道如何使用 Bcp 来完成。你指的是命令行实现吧? 是的,这将是一次性使用。 就像@JoeC 所说,使用 PowerShell 或 .NET 编写脚本。应该是最好的方法,或者你甚至可以使用 SSIS。这里怎么样? ***.com/questions/14275493/… 【参考方案1】:这是一种老式的做法。
如果你真的有这么简单的设置,而且你只需要这样做一次,你可以生成一个批处理文件来生成文件。
你可以用这个查询来做到这一点:
select 'set text = ' + jobType + char(13)
+ 'Echo %text% > ' + Username + '_' + convert(varchar(10), ID) + '.txt'
from MyTable
这将为您提供如下所示的输出:
set text = Testing
Echo %text% > Ram_1.txt
set test = Developer
Echo %text% > Raj_2.txt
复制该输出并将其粘贴到名为GenerateFiles.bat
的文件中。然后将该文件放在您希望输出文件出现的目录中。
双击它,它会执行,你就会有你的文件。
【讨论】:
以上是关于将 SQL Server 表导出到多个文件的主要内容,如果未能解决你的问题,请参考以下文章
如何在 SQL 开发人员中将多个表中的数据导出到多个 .TXT 文件中
在SQL Server中,如何将多个.trc文件移动/导入到跟踪表
如何将SQL Server中多个表的数据一次性返回到一张EXCEL工作表(Sheet)中
如何将 SQL 结果生成到 Excel 工作表 (Oracle)