超时已过期。将xml导出到sql server 2008数据表时出现问题 - .net

时间:2010-08-31 10:00:53

标签: .net xml sql-server-2008 timeout xml-database

我正在将xml数据导出到sql server 2008数据库。

.net code:How to pass XML from C# to a stored procedure in SQL Server 2008?

查询以插入:Querying a xml in sql server 2008

如果文件很小,Everthing工作正常。现在xml文件大小超过5mb。它显示超时错误。如何解决这个问题。

错误:超时已过期。操作完成之前经过的超时时间或服务器没有响应。 声明已经终止。

格塔。

2 个答案:

答案 0 :(得分:0)

尝试使用SqlBulkCopy Classhttp://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

如果数据大小更多,这将是一个更好的选择。它将在几秒钟内插入GB数据。

要解决您的错误,请尝试:SqlCommand.CommandTimeout

答案 1 :(得分:0)

您可以更改命令的超时,例如:

command.CommandTimeout = 3600;

该值以秒为单位测量。

但是,您可能需要更改XML导入SQL。通过使用OPENXML子句而不是nodes XML数据类型方法,您通常可以获得更好的性能。有关OPENXML的信息和示例,请参见the documentation