我正在将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。它显示超时错误。如何解决这个问题。
错误:超时已过期。操作完成之前经过的超时时间或服务器没有响应。 声明已经终止。
格塔。
答案 0 :(得分:0)
尝试使用SqlBulkCopy Class
:http://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。