C# 将数据集传递给SQL Server存储过程

C# 将数据集传递给SQL Server存储过程,c#,sql-server,sql-server-2005,C#,Sql Server,Sql Server 2005,在这里,我面临一个问题,我想将数据集传递给SQL Server存储过程,但我对此一无所知,也没有其他解决方案(我想是的),让我告诉你我想要什么 我有一个Excel文件要读取,我成功地读取了它,所有数据从Excel工作簿导入到数据集。现在需要将这些数据插入到两个不同的表中,Excel工作簿中的行太多,因此如果从代码隐藏运行它,则效果不佳,这就是为什么我要将此数据集传递给存储过程,而不是 请给我一些解决方案。不知道您使用的是什么数据库版本,以下是一些提示: 如果需要定期读取Excel文件,并将其拆

在这里,我面临一个问题,我想将数据集传递给SQL Server存储过程,但我对此一无所知,也没有其他解决方案(我想是的),让我告诉你我想要什么

我有一个Excel文件要读取,我成功地读取了它,所有数据从Excel工作簿导入到数据集。现在需要将这些数据插入到两个不同的表中,Excel工作簿中的行太多,因此如果从代码隐藏运行它,则效果不佳,这就是为什么我要将此数据集传递给存储过程,而不是


请给我一些解决方案。

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

  • 如果需要定期读取Excel文件,并将其拆分为两个或多个表,可能需要使用类似的方法。使用SSIS,您应该能够非常轻松地实现这一点

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

  • 如果您使用的是SQL Server 2008及更高版本,您应该看看-您基本上是将Excel文件加载到.NET数据集中,并将其作为一个特殊参数传递给存储的进程。很好用,但在2008年发布之前SQL Server中不可用

  • 由于您使用的是SQL Server 2005,而表值参数不可用,因此您可能想看看Erland Sommarskog的优秀文章——根据您的数据集有多大,他的方法之一可能适合您(例如,在存储过程中解析/分解的XML作为传递)


什么数据库?那个数据库的哪个版本?谢谢你的回复,伙计,但很抱歉我使用的是sql 2005。