我試圖發送一個約爲1MB的XML作爲存儲過程中的XML參數,但總是連接返回超時。SQL Server 2005 XML參數導致超時?
任何人都知道什麼是XML類型的大小限制?
環境:
- 微軟SQL Server 2005 Express的
- 的.NET Framework 2.0
- C#
C#代碼:
using (SqlCommand commandSave = new SqlCommand("SaveScanning", this.DatabaseConnection))
{
commandSave.CommandType = System.Data.CommandType.StoredProcedure;
SqlParameter scanningData = new SqlParameter("ScanningData", System.Data.SqlDbType.Xml);
scanningData.Value = new SqlXml(new XmlTextReader(**HEREISTHEXMLSTRING**, XmlNodeType.Document, null));
commandSave.Parameters.Add(scanningData);
commandSave.ExecuteNonQuery();
}
SQL代碼:
CREATE PROCEDURE [dbo].[SaveScanning]
(
@ScanningData XML
)
AS
BEGIN
.
.
.
當一個較低的XML內容傳遞,它工作正常。 (100kb) – Zanoni 2009-06-16 02:27:03
大小限制是2GB的二進制XML,它通常比xml的文本表示更緊湊(例如,qnames在二進制XML中被標記化) – ahains 2009-06-16 05:13:25
我想問題出在SQL Server上。當我試圖發送一個大的XML並嘗試從SELECT子句的TABLE中插入數據時,會出現問題。當只使用XML中的SELECT時,問題不會發生。 – Zanoni 2009-06-16 13:05:22