将 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)

将 SQL Server 表导出到 Microsoft Excel xlsx 文件

使用 SSIS 将数据加载到 SQL Server 中的多个表