[BTS]BizTalk学习之Functoid篇(Database Lookup)

开发程序,避免不了经常要访问数据库,这里,想最常用的当然是"select * from SomeTable where ID=***"了。
这么常用,BizTalk当然也要提供一个可配置的开发手段给我们了!!它就是Database Lookup Functoid。


这个用例主要是输入用户名,查询数据库,得到该用户的其他数据。
DatabaseLookupFunctoid_01.jpg
Fegend-1 输入数据



DatabaseLookupFunctoid_02.jpg
Fegend-2 数据库表



DatabaseLookupFunctoid_03.jpg
Fegend-3 输出数据

这里略掉了输入、输出Schema的定义过程,直接来到Map的定义。
向Map中添加Database Lookup Functoid,Value Extractor Functoid,Error Review Functoid三个必用的Functoid。
DatabaseLookupFunctoid_04.jpg
Fegend-4 创建的Map



Database Lookup Functoid有四个输入参数
1.Value
2.Connection String
3.TableName
4.ColumnName
它这里类似完成了如下的代码
Connection conn = new Connection( ConnectionString);
Command cmd = new Command("select top 1 * from TableName where ColumnName= Value",conn)
DatabaseLookupFunctoid_05.jpg
Fegend-5 Database Lookup中的配置


Database Lookup Functoid执行完查询数据库后,会得到一个ADO的Record。
这里必须用Value Extractor Functoid来读取Record的数据。
当然于下面的代码
string value = Reader["Name"].ToString();
DatabaseLookupFunctoid_06.jpg
Fegend-6 Value Extractor的配置


其中用到了Error Review,它主要是用来捕获Database Lookup Functoid运行时产生的错误。
DatabaseLookupFunctoid_07.jpg
Fegend-7 捕获异常



你会发现,为啥要在Database Lookup Functoid中设置ConnectionString,这样以后改起来不是很麻烦。当然有方法,可以使用UDL文件!
创建一个UDL文件,并双击它进行配置。
DatabaseLookupFunctoid_08.jpg
Fegend-8 UDL文件


DatabaseLookupFunctoid_09.jpg
Fegend-9 配置数据源


这样就可以直接用
File Name=c:\..........\*.UDL
文件来设置ConnectionString了。不过,它的使用会带来一些性能上的问题,因为每次连接数据库,都要去读文件。
DatabaseLookupFunctoid_10.jpg
Fegend-10 修改ConnectionString


直到今天,才完完整整做了一个Database Lookup例程,用起来还真挺方便!

转载于:https://www.cnblogs.com/xuzhong/archive/2007/05/24/759092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值