代码之家  ›  专栏  ›  技术社区  ›  Abhishek

将数据集传递到SQL Server存储过程

  •  2
  • Abhishek  · 技术社区  · 16 年前

    请给我建议一些解决办法。

    1 回复  |  直到 16 年前
        1
  •  2
  •   marc_s MisterSmith    16 年前

    由于不知道您使用的是什么数据库版本,以下是一些提示:

    • 如果需要定期读取Excel文件,并将其拆分为两个或多个表,可能需要使用 SQL Server Integration Services 为了这个。使用SSIS,您应该能够很容易地实现这一点

    • 您可以将Excel文件加载到临时暂存表中,然后从存储过程中的暂存表中读取数据。这是可行的,但是当有可能需要处理多个并发调用时,它会变得有点混乱

    • 如果您使用的是SQLServer2008及更高版本,您应该看看 table-valued parameters -基本上,您可以将Excel文件加载到.NET数据集中,并将其作为一个特殊参数传递给存储过程。工作得很好,但在2008版之前的SQLServer中不可用

    • 因为您使用的是SQLServer2005,表值参数不可用,所以您可能需要看看ErlandSommarskog的优秀文章 Arrays and Lists in SQL SErver 2005 -根据您的数据集有多大,他的方法之一可能适用于您(例如,将您在存储过程中解析/分解的XML作为XML传递)