我想一次将大约5000个(通常可以是10K +)的行插入到SQL Server中。我的插入语句是由C#程序生成的。用C#将插入到SQL Server中?
一种方法可能是简单地生成一个完整的这些SQL语句的大字符串,然后实际上使SQL Server使用SqlCommand.ExecuteNonQuery();
来执行它们。但是存在SQL Server可能无法执行这样的大语句的风险。
有没有一种方法可以将SQL语句推送到某种“SQL Server缓冲区”(如果有的话),然后最终执行它们?
编辑 -我正在使用SQL Server 2005,2008。所以,我需要与两者兼容的东西。
谢谢。
Google for“SQL Server mass insert”,你会发现一系列解决方案。 – usr
有更好的方法可以将数千行插入到数据库中,而不是自制(.net,php,coldfusion,无所谓)应用程序,但有时候确实有必要推出自己的应用程序。如果是这样,你必须逐个添加你的记录。 –
@DanBracuk - 这正是我现在正在做的。我不确定是否逐行是最好的方法。如果我让它以5K,10K等的批次进行,那么SQL Server不会执行那些大字符串。可能是对尺寸的限制。 – Steam