BizTalk Adapter Pack for Oracle 实现Oracle 11g的CRUD
这两天有点小忙,就不做过多的文字描述了。
测试结果
经过测试,目前BizTalk支持的Oracle数据库版本如下:
- Oracle Database 11.1
- Oracle Database 10.2
- Oracle Database 10.1
- Oracle Database 9.2
- Oracle Data Access Components for Oracle Client 11.1.0.6 with Patch Set 11.1.0.7
- Oracle Data Access Components for Oracle Client 11.1.0.7
安装Oracle 11g Release 2
创建BizTalk Adapter for Oracle
1. 创建一个BizTalk Project,并添加一个适配器服务的生成项。
2. 在配置窗口当中配置Oracle的连接字符串以及相关其他参数。
3. 连接Oracle数据库,并配置增、删、改查操作。
4. 创建完成
创建测试消息实例
通过BizTalk适配器,我们创建了4个消息架构,在部署之后BizTalk会根据消息中的内容来在Oracle中进行增、删、改、查操作。
Select
<ns0:Select xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <ns0:COLUMN_NAMES>COLUMN_NAMES_0</ns0:COLUMN_NAMES> <ns0:FILTER>FILTER_0</ns0:FILTER> </ns0:Select>
Update
<ns0:Update xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <ns0:RECORDSET> <ns0:EMPLOYEE_ID>70</ns0:EMPLOYEE_ID> <ns0:FIRST_NAME>FIRST_NAMEFIRST_NAME</ns0:FIRST_NAME> <ns0:LAST_NAME>LAST_NAMELAST_NAMELAST_NA</ns0:LAST_NAME> <ns0:EMAIL>EMAILEMAILEMAILEMAILEMAIL</ns0:EMAIL> <ns0:PHONE_NUMBER>PHONE_NUMBERPHONE_NU</ns0:PHONE_NUMBER> <ns0:HIRE_DATE>1999-05-31T13:20:00.000-05:00</ns0:HIRE_DATE> <ns0:JOB_ID>JOB_IDJOB_</ns0:JOB_ID> <ns0:SALARY>4</ns0:SALARY> <ns0:COMMISSION_PCT>32</ns0:COMMISSION_PCT> <ns0:MANAGER_ID>2</ns0:MANAGER_ID> <ns0:DEPARTMENT_ID>81</ns0:DEPARTMENT_ID> </ns0:RECORDSET> <ns0:FILTER>FILTER_0</ns0:FILTER> </ns0:Update>
Insert
<ns0:Insert xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <ns0:RECORDSET> <ns0:EMPLOYEESRECORDINSERT> <ns0:EMPLOYEE_ID InlineValue="InlineValue_0">10.4</ns0:EMPLOYEE_ID> <ns0:FIRST_NAME InlineValue="InlineValue_0">FIRST_NAME_0</ns0:FIRST_NAME> <ns0:LAST_NAME InlineValue="InlineValue_0">LAST_NAME_0</ns0:LAST_NAME> <ns0:EMAIL InlineValue="InlineValue_0">EMAIL_0</ns0:EMAIL> <ns0:PHONE_NUMBER InlineValue="InlineValue_0">PHONE_NUMBER_0</ns0:PHONE_NUMBER> <ns0:HIRE_DATE InlineValue="InlineValue_0">1999-05-31T13:20:00.000-05:00</ns0:HIRE_DATE> <ns0:JOB_ID InlineValue="InlineValue_0">JOB_ID_0</ns0:JOB_ID> <ns0:SALARY InlineValue="InlineValue_0">10.4</ns0:SALARY> <ns0:COMMISSION_PCT InlineValue="InlineValue_0">10.4</ns0:COMMISSION_PCT> <ns0:MANAGER_ID InlineValue="InlineValue_0">10.4</ns0:MANAGER_ID> <ns0:DEPARTMENT_ID InlineValue="InlineValue_0">10.4</ns0:DEPARTMENT_ID> </ns0:EMPLOYEESRECORDINSERT> </ns0:RECORDSET> <ns0:COLUMN_NAMES>COLUMN_NAMES_0</ns0:COLUMN_NAMES> <ns0:QUERY>QUERY_0</ns0:QUERY> </ns0:Insert>
Delete
<ns0:Delete xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <ns0:FILTER>FILTER_0</ns0:FILTER> </ns0:Delete>
部署BizTalk Project
1. 使用File适配器配置接收端口,使用WCF-Oralce适配器配置发送端口,具体方法与上一篇配置SQL的类似。
2. [查看] 在Oracle当中创建一个工作人员表,在其创建几个员工信息,之后实例化一个查询名叫King的员工信息的消息。
<Select xmlns="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <COLUMN_NAMES>*</COLUMN_NAMES> <FILTER>where LAST_NAME='King'</FILTER> </Select>
3. 把上述消息扔到In文件夹中,经过BizTalk处理后,会按照消息中的条件到Oracle数据库中查询到King的信息并以XML的格式返回给Out文件夹。
4. 看一下在数据库当中King的员工信息。
5. [更新] 创建一个用来跟新数据库的XML消息,将其扔到In文件夹当中,BizTalk会根据消息来对Oracle数据库中相应的消息进行更新操作。
<Update xmlns="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <RECORDSET> <EMAIL>JAKING</EMAIL> </RECORDSET> <FILTER>EMPLOYEE_ID=156</FILTER> </Update>
6. 在数据库中查看更新结果。
7. [插入] 创建一个将要插入到数据库的消息,并扔到In文件夹中,BizTalk根据消息内容将其插入到员工表当中。
<Insert xmlns="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <RECORDSET> <EMPLOYEESRECORDINSERT> <EMPLOYEE_ID>207</EMPLOYEE_ID> <FIRST_NAME>Steef-Jan</FIRST_NAME> <LAST_NAME>Wiggers</LAST_NAME> <EMAIL>SWIGGERS</EMAIL> <PHONE_NUMBER>0123456789</PHONE_NUMBER> <HIRE_DATE>1999-05-31</HIRE_DATE> <JOB_ID>IT_PROG</JOB_ID> <SALARY>100000</SALARY> <COMMISSION_PCT>0.35</COMMISSION_PCT> <MANAGER_ID>100</MANAGER_ID> <DEPARTMENT_ID>60</DEPARTMENT_ID> </EMPLOYEESRECORDINSERT> </RECORDSET> </Insert>
8. 数据库的测试结果。
9. [删除] 创建一个消息,将该消息扔到In文件夹当中,经过BizTalk处理之后,会根据消息中的内容删除Oracle数据库中的消息。
<Delete xmlns="http://Microsoft.LobServices.OracleDB/2007/03/HR/Table/EMPLOYEES"> <FILTER>EMPLOYEE_ID=207</FILTER> </Delete>
10. 数据库的测试结果。
测试完成,测试结果证明BizTalk Server 2010中的适配器完全支持Oracle 11g Release 2版本,文章中没有浪费时间说太多,有没写清楚的地方请谅解,并可以在下方评论处一起交流。