技术开发 频道

深入biztalk中sql adapter

一.      Sql adapter访问sql server所用技术... 1

1.         查询数据和执行存储过程... 2

1.1.        Select语句查询数据... 2

1.2.        执行存储过程... 2

2.         使用语句更新数据updategram... 2

2.1.        updategram 的结构... 2

2.2.        插入操作... 2

2.3.        删除操作... 2

2.4.        更新操作... 2

二.      Sql adapter访问sql server的两种端口... 3

1.         接收端口... 3

1.1.     Select语句... 3

1.1.1.      典型场景... 3

1.1.2.      运行sql adapter向导... 3

1.1.3.      设置数据库连接... 5

1.1.4.      设置接收数据消息的架构... 5

1.1.5.      选择语句类型... 6

1.1.6.      输入select语句... 7

1.1.7.      向导完成... 7

1.1.8.      设计流程... 7

1.1.9.      测试... 8

1.2.     存储过程... 10

1.2.1.      典型场景... 10

1.2.2.      选择语句类型... 11

1.2.3.      测试... 12

2.         发送端口... 12

2.1.     Updategram语句... 13

2.1.1.      典型场景... 13

2.1.2.      设置架构信息... 13

2.1.3.      设计流程... 15

2.1.4.      配置应用程序... 15

2.1.5.      测试... 16

2.2.     存储过程... 17

2.2.1.      典型场景... 17

 

 

一.  Sql adapter访问sql server所用技术
[IT168 技术文档]Sql adapter通过SQLXML访问sql server,SQLXML XML for SQL Server,又名SQLXML,可帮助开发人员在扩展标记语言(XML)和相关数据之间架设起沟通的桥梁。您还可针对现有关系型数据生成XML视图,并将其作为XML文件加以应用。在biztalk 的sql adapter中使用到SQLXML的下面两个技术来实现对sql server的访问:

l  借助Transact-SQL查询关系型数据并返回XML格式结果集。

l  按照XML格式更新关系型数据(updategram)。

1.     查询数据和执行存储过程
1.1.         Select语句查询数据
在一般的查询语句后面加上for xml auto,就可以把关系数据库的行集转换成xml形式的数据返回。

1.2.         执行存储过程
调用存储过程是将存储过程名和相关的参数打包成一个xml形式的数据发送到sql server,sql server执行后,一般在存储过程后也是通过带用for xml auto的select语句返回xml的结果集。

存储过程可以带有输入参数,既可以完成有条件的查询功能,又可以完成数据更新的功能,所以所有的对sql server数据库的访问都可以通过执行存储过程来完成。


2.1.         updategram 的结构
updategram 是一个 XML 文档,带有<sync>、<before> 和<after> 元素,这些元素构成了 updategram 的语法。每个<sync> 块包含一个或多个<before> 和<after> 块。<before> 标识记录实例的现有状态(也称为“前状态”)。<after> 标识要更改的数据的新状态。updategram 是删除、插入还是更新记录实例取决于<before> 和<after> 块的内容。

2.2.         插入操作
当记录实例出现在<after> 块而没有出现在相应的<before> 块中时,updategram 指示插入操作。在这种情况下,updategram 将<after> 块中的记录插入数据库。

2.3.         删除操作
当记录实例出现在<before> 块而没有相应的记录出现在<after> 块中时,updategram 指示删除操作。在这种情况下,updategram 从数据库中删除<before> 块中的记录。

如果在 updategram 中指定的元素或者匹配表中的多行或者不匹配表中的任何行,则 updategram 会返回错误,并取消整个<sync> 块。updategram 中的元素一次只能删除一条记录。

2.4.         更新操作
当更新现有的数据时,必须指定<before> 和<after> 块。updategram 使用<before> 块中指定的元素来标识数据库中的现有记录。<after> 块中相应的元素指示在执行更新操作之后记录的外观应该怎样。

<before>块中的元素必须只与数据库中的一个表行相匹配。如果该元素匹配多个表行或不匹配任何表行,则 updategram 都会返回错误,并且取消整个<sync> 块。

0
相关文章