SSIS Excel 目标 - 定义的字段过多

Posted

技术标签:

【中文标题】SSIS Excel 目标 - 定义的字段过多【英文标题】:SSIS Excel Destination - too many fields defined 【发布时间】:2014-09-15 14:07:08 【问题描述】:

我需要使用 SSIS 2010 从平面文件(word 2003)创建数据到 excel 2007。在“连接管理器”屏幕中,我选择数据访问模式:表名并选择:新建...在创建表中我有:

CREATE TABLE `OLE DB Destination` (
    `Column 0` NVARCHAR(50),
    `Column 1` NVARCHAR(50),
    `Column 2` NVARCHAR(50),
   .............................
`Column 1087` NVARCHAR(50)
)

我尝试“OK”并收到消息:

定义的字段过多。 Microsoft Office Access 数据库引擎

我的 excel 文件具有正确的扩展名并安装了 MS OFFICE 2013。 我只能在 excel 中创建 255 列。有什么想法吗?

【问题讨论】:

你别无选择:office.microsoft.com/en-ca/access-help/… 要么改用真实数据库,要么放弃这个项目。 能否切换输出方式,使数据分布在多个 Excel 工作表之间,每个工作表的列数不超过 255 列? 【参考方案1】:

不幸的是,Excel Destination 的 255 列约束似乎是一个硬限制。

可能的解决方法:

在多个工作表之间拆分输出,每个工作表接收的数据少于 256 列。虽然可能是最简单的解决方案,但它需要更改输出格式,这可能会也可能不会接受。 输出为另一种格式,然后使用脚本任务或执行流程任务将该其他格式转换为 Excel 电子表格。例如,使用平面文件目标输出为 CSV,然后将输出文件从 CSV 转换为 XLSX . 使用没有 255 列限制的数据库驱动程序。您也许可以找到适用于更多列的 Excel 的第三方 ODBC 驱动程序。 使用第三方目标组件/连接管理器。例如:COZYROC 的Excel Destination/Excel Connection 或许可以做你想做的事。 (注意:我从未使用过这些,并且与它们的作者没有任何关联。)

【讨论】:

以上是关于SSIS Excel 目标 - 定义的字段过多的主要内容,如果未能解决你的问题,请参考以下文章

SSIS包没有填充任何结果

ArcGIS图层添加字段出现:“定义了过多字段”

ABAP SCREEN的内表列数有限制吗

定义的字段过多

SSIS:截断Excel目标

研究SSIS时候的一些常见错误