【问题标题】:Importing more than 255 columns data from Excel/Text To SQL从 Excel/Text To SQL 导入超过 255 列数据
【发布时间】:2020-08-19 08:34:42
【问题描述】:

我有一个 Excel 2010 统计数据文件,我打算将其导入单个表中。问题是该文件有 1500 列。默认情况下,SQL Server 导入将导入后创建的表限制为 255 列。有什么方法可以扩展它以包括所有 1500 列?

【问题讨论】:

  • SQL Server 每个表的列不能超过 1024 列,除非您使用稀疏列。
  • 好的,那我怎么导入 2024 列呢?

标签: sql sql-server sql-server-2008


【解决方案1】:

您可以通过创建稀疏列来使用宽表。每个宽表大小为 30000 列。您可以查看此页面; Maximum Capacity Specifications for SQL Server

您可以像这样创建wide 表;

CREATE TABLE SampleWideTable(ID INT IDENTITY(1,1),
Column1 NVARCHAR(100) SPARSE,
Column2 NVARCHAR(100) SPARSE,
Column3 NVARCHAR(100) SPARSE)

但是稀疏列有一些优点和缺点。在采取行动之前,您应该先阅读它。

SPARSE columns advantages and disadvantages

【讨论】:

  • 谢谢@Rainman 这些表可以在导入时动态创建吗?
  • 您可以使用 DTF 来执行它。这里有一篇关于导入数据和动态创建表的有用文章。 stackoverflow.com/questions/28738805/…
【解决方案2】:

有关使用范围语法一次导入 255 列的信息,请参阅 this answer

myCommand = New OleDbDataAdapter("SELECT * FROM  [" & _TableName & "AAO1:ABG3000]", conn)
myCommand.Fill(thisDS, _TableName)

然后以编程方式将每个列的数据集重新附加在一起。

【讨论】:

    猜你喜欢
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    • 2016-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    相关资源
    最近更新 更多