Sql server 在SQL Server中从Excel导入时,有没有克服限制的方法?

Sql server 在SQL Server中从Excel导入时,有没有克服限制的方法?,sql-server,ssis,sql-server-2012,excel-import,Sql Server,Ssis,Sql Server 2012,Excel Import,我正在尝试从excel文件导入大量列:具体来说,以下是范围: 最大的列名有80个字符。导入时,SQL Server会删除64个字符之后的任何内容。我不知道为什么,因为列名的最大长度远远超过64 我的Excel工作表中有500列,但只导入了255列。之后的任何东西都会被砍掉 有没有一种方法可以克服这些限制,而不必将Excel工作表分割成多个部分 Microsoft已承认这一缺陷,并发布了以下软件包,以使用“更新的”Access/Excel连接管理器来纠正它。但是,在安装并遵循说明后,同样的问题也

我正在尝试从excel文件导入大量列:具体来说,以下是范围:

  • 最大的列名有80个字符。导入时,SQL Server会删除64个字符之后的任何内容。我不知道为什么,因为列名的最大长度远远超过64

  • 我的Excel工作表中有500列,但只导入了255列。之后的任何东西都会被砍掉
    有没有一种方法可以克服这些限制,而不必将Excel工作表分割成多个部分

    Microsoft已承认这一缺陷,并发布了以下软件包,以使用“更新的”Access/Excel连接管理器来纠正它。但是,在安装并遵循说明后,同样的问题也会发生。您可以下载更新的Office 2010版本。但这没用

    问题原因:问题是由于office 1997-2003版存在的限制造成的。“连接管理器”是为Office 1997设计的,自那时起未进行修改或改进。这就是为什么,当您实际研究Office 2000或2003的限制时,您会发现它们不允许超过255列(上面提到的限制),并且列名的长度不能超过64个字符。这些都是Office 2000和1997中存在的软件局限性,而且由于当时设计了连接管理器,考虑到MS没有投资改进或更新其产品,这些局限性仍然存在。希望这有帮助


    简短回答:理论上,这些问题可以通过下载2010 Office Connection manager(仍处于测试版)来解决,但实际上,该解决方案不起作用

    它只检查前几行以确定大小。有一个注册表设置,让它检查所有,但我忘记了。至少你有东西可以搜索。@Frisbee谢谢你的评论,但我不确定你的意思:我的Excel表格只有一行,那一行是标题行。我指的是列长度,而不是后面的行。标题就在上面。@Frisbee我研究并了解了你指的是什么。我的案例不是Excel连接器基于采样设置的错误数据类型,它实际上与允许的最大限制有关。我现在找到了解决办法!