从 SQL 服务器中的 Excel 导入时,有什么方法可以克服限制吗?
Is there any way to overcome limitations when importing from Excel in SQL Server?
我正在尝试从 excel 文件中导入大量列:具体而言,范围如下:
- 最大的列名称有 80 个字符。导入时,SQL 服务器会截断 64 个字符后的所有内容。我不确定为什么,因为列名的最大长度远远超过 64。
- 我的 Excel sheet 中有 500 列,但只导入了 255 列。之后的任何东西也被砍掉了。
有没有办法在不将 Excel sheet 分成多个部分的情况下克服这些限制?
Microsoft 已经认识到这个缺点并发布了以下软件包以使用 "newer" Access/Excel 连接管理器来纠正它。但是,在安装并按照说明进行操作后 - 出现了同样的问题。您可以下载更新的 Office 2010 版本 here。但这没有帮助。
问题原因:该问题是由于office版本1997-2003存在的限制导致的。连接管理器是为 Office 1997 设计的,此后未进行任何修改或改进。这就是为什么当您实际研究 Office 2000 或 2003 的限制时,您会发现它们不允许超过 255 列(上述限制)并且列名的长度不能超过 64 个字符。这些是 Office 2000 和 1997 中存在的软件限制,并且由于 Connection Manager 是当时设计的,他们只是保留了它,因为 MS 没有投资改进或更新他们的产品。希望这可以帮助!
简短回答:理论上这些问题可以通过下载 2010 Office 连接管理器(仍处于测试版)来解决,但实际上该解决方案不起作用。
我正在尝试从 excel 文件中导入大量列:具体而言,范围如下:
- 最大的列名称有 80 个字符。导入时,SQL 服务器会截断 64 个字符后的所有内容。我不确定为什么,因为列名的最大长度远远超过 64。
- 我的 Excel sheet 中有 500 列,但只导入了 255 列。之后的任何东西也被砍掉了。
有没有办法在不将 Excel sheet 分成多个部分的情况下克服这些限制?
Microsoft 已经认识到这个缺点并发布了以下软件包以使用 "newer" Access/Excel 连接管理器来纠正它。但是,在安装并按照说明进行操作后 - 出现了同样的问题。您可以下载更新的 Office 2010 版本 here。但这没有帮助。
问题原因:该问题是由于office版本1997-2003存在的限制导致的。连接管理器是为 Office 1997 设计的,此后未进行任何修改或改进。这就是为什么当您实际研究 Office 2000 或 2003 的限制时,您会发现它们不允许超过 255 列(上述限制)并且列名的长度不能超过 64 个字符。这些是 Office 2000 和 1997 中存在的软件限制,并且由于 Connection Manager 是当时设计的,他们只是保留了它,因为 MS 没有投资改进或更新他们的产品。希望这可以帮助!
简短回答:理论上这些问题可以通过下载 2010 Office 连接管理器(仍处于测试版)来解决,但实际上该解决方案不起作用。