【问题标题】:Is there a way to export huge amount of data (more than a million rows) from SQL Server to csv?有没有办法将大量数据(超过一百万行)从 SQL Server 导出到 csv?
【发布时间】:2015-08-24 05:58:45
【问题描述】:

当行数少于 500k 时,我可以使用 ssis 导出到 csv 文件。当尺寸变大时出现以下错误

DT_TEXT,Unicode 文件不支持。使用 DT_NTEXT 而是使用数据转换将数据转换为 DT_TEXT 组件。

【问题讨论】:

  • SSIS 应该能够处理超过 500k 行。数据是否以NVARCHAR 的形式存储在您的数据库中?看起来 SSIS 正在抱怨流中的 Unicode 字符。
  • Yes 类型为 nvarchar 的列导致错误

标签: sql sql-server csv ssis sql-server-2012


【解决方案1】:

使用管理工作室

  • 右键单击数据库并选择任务 > 导出数据。

  • 选择数据源为SQL Server,选择服务器名称、身份验证和数据库,点击下一步。

  • 选择目标作为平面文件目标并浏览 .csv 文件并单击下一步。

  • 选择行终止符为 {CR}{LF},列终止符为逗号{,},然后点击下一步。

  • 最后会显示导出到 .csv 文件的行的详细信息。

【讨论】:

  • 我认为这个问题意味着使用 SSIS 自动导出,而不是使用 SSMS 手动导出
【解决方案2】:

按照错误消息的建议执行操作 - 确保平面文件源的列具有 DT_NTEXT 类型,这些列映射到数据库中的 nvarchar 列。 为此,请单击平面文件源上的“显示高级编辑器”,然后转到输入和输出属性 > 平面文件源输出 > 输出列

【讨论】:

  • 我已尝试在编辑映射屏幕中将类型更改为 DT_NTEXT。仍然没有运气,同样的错误不断弹出
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-18
  • 2021-04-04
  • 2019-07-06
  • 2019-12-06
  • 2021-03-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多