【发布时间】:2009-02-22 13:26:45
【问题描述】:
我问过很少人为什么在存储过程中使用 xml 作为参数不起作用,每个人都说,就是这样。我不敢相信。
command.Parameters.Add("@xmldoc", SqlDbType.Xml);
这就是编译器返回错误的地方,我不能使用 NVarChar 因为它仅限于 4k 唱。 XML 将是完美的,因为它可以是 2gigs 大。
为什么其他 SqlDbTypes 运行良好,而这个返回错误?
*
错误:指定的参数超出 有效值的范围。范围 名称:@xmldoc:无效的 SqlDbType 枚举值:25。
*
【问题讨论】:
-
如果有错误,最好将错误附加到帖子中。
-
我假设您至少使用 SQL2005 并且您的列被声明为 XML 数据类型?
-
如果您使用 SQL Server 2005 及更高版本,则对 NVARCHAR 字符串的大小有更大的限制。请参阅 MAX 关键字 - msdn.microsoft.com/en-us/library/ms186939.aspx - MAX 表示 NVARCHAR 的最大长度为 1,073,741,822
-
你的 XML 参数是什么样的,你是如何构造它的?
-
这篇文章可能感兴趣 - dotnet.sys-con.com/node/406637 - 所有代码都可以通过超链接获得
标签: c# xml stored-procedures sql-server-ce compact-framework