Call me Razor#

我每天重新打造一条秘密小路, 在蜿蜒奇诡的归途中尽情冒险.
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

Biztalk SQL 适配器之数据类型支持

Posted on 2009-04-21 18:45  Razor#  阅读(1252)  评论(0编辑  收藏  举报

不知道做Biztalk的朋友有没有遇到数据类型错误,当存储过程中声明一个(MAX)类型或者(XML)数据类型的参数,Sql Adapter会在运行时报错:例如

ALTER procedure [dbo].[DBSP1]
@SEL_ID nvarchar(MAX),
@SEL_EXTEND nvarchar(XML)
as
begin
.......

FOR XML AUTO,XMLDATA

存储过程在编译和bts生成Schema阶段不会抱错,但是在运行时会报出一个数据类型转换错误,经查证解释如下
当数据库表中包含以下一种数据类型的列时,就会出现此问题:

varbinary(MAX) 数据类型
varchar(MAX) 数据类型
nvarchar(MAX) 数据类型
xml 数据类型
BizTalk Server 中,SQL 适配器不支持这些数据类型

解决方法:

这些数据类型是 SQL Server 2005 中新增的数据类型。当数据库表中包含其中一种数据类型的列时,请不要在 BizTalk Server 中使用 SQL 适配器向数据库表中插入数据。另外,不要在 BizTalk Server 中使用 SQL 适配器从数据库表中检索数据。

参考资料《Microsoft BizTalk Server 2006 Documentation》