我几天后才面对这个问题。 我的要求是执行存储过程,如果找到的数据每10-15分钟运行一次编排。
对于我使用Oracle的轮询方法。
我有以下存储过程,
create or replace procedure BTS_RAD_PollManageStateDOCAMD( p_rc out sys_refcursor) is
begin
for rec in (
SELECT * FROM RAD_BTS_MANAGE_DOCAMS
WHERE MESSAGE_STATE='CREATED')
loop
dbms_output.put_line(
rec.CORRELATION_ID || ',' || rec.MESSAGE_KEY || ',' ||rec.MESSAGE_FILENAME || ',' ||rec.MESSAGE_ROOTNODE
||',' ||rec.MESSAGE_ELIMINATEDFLAG || ',' ||rec.MESSAGE_CONTENT || ',' ||rec.MESSAGE_STATE );
end loop;
end;
我通过使用适配器服务方法生成了以下模式。 我有三个模式
OracleDBBindingGenericOperation.xsd
OracleDBBindingRADAR.PollingProcedure.xsd
OracleDBBindingRADAR.Procedure.xsd
因为我正在使用 OracleDBBindingRADAR.PollingProcedure.xsd作为我在orch中的消息。
<?xml version="1.0" encoding="utf-16" ?>
- <xs:schema xmlns:b="http://schemas.microsoft.com/BizTalk/2003" xmlns:ns3="http://Microsoft.LobServices.OracleDB/2007/03" elementFormDefault="qualified" targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import schemaLocation=".\OracleDBBindingGenericOperation.xsd" namespace="http://Microsoft.LobServices.OracleDB/2007/03" />
- <xs:annotation>
- <xs:appinfo>
<fileNameHint xmlns="http://schemas.microsoft.com/servicemodel/adapters/metadata/xsd">RADAR.PollingProcedure</fileNameHint>
- <references xmlns="http://schemas.microsoft.com/BizTalk/2003">
<reference targetNamespace="http://Microsoft.LobServices.OracleDB/2007/03" />
</references>
</xs:appinfo>
</xs:annotation>
- <xs:element name="BTS_RAD_POLLMANAGESTATEDOCAMD">
- <xs:annotation>
- <xs:documentation>
<doc:action xmlns:doc="http://schemas.microsoft.com/servicemodel/adapters/metadata/documentation">http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD</doc:action>
</xs:documentation>
</xs:annotation>
- <xs:complexType>
- <xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="P_RC" nillable="true" type="ns3:ArrayOfGenRecordRow" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
现在在管理级别我已经在接收位置进行了以下配置设置,请帮助我做错了。
Trasport类型:WCF-OracleDB EnableBiztalkcompatibilityMode:True PollDataAvilableStatment:SELECT count(*)FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE =&#39; CREATED&#39; 投票行动:http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD 民意调查声明: 使用环境事务:错误
我怀疑有一些投票声明的问题。
你有没有人建议,在我的SP中它不在Courser中,它刚出来。我该怎么写或让我知道它可能出错的地方。
我收到错误:
适配器&#34; WCF-OracleDB&#34;提出了一条错误信息。
Details "Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Unexpected start node "BTS_RAD_POLLMANAGESTATEDOCAMD" with namespace "http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD" found.
at Microsoft.ServiceModel.Channels.Common.Design.AdapterAsyncResult.End()
at Microsoft.ServiceModel.Channels.Common.Channels.AdapterInputChannel.EndTryReceive(IAsyncResult result, Message& message)
at System.ServiceModel.Dispatcher.InputChannelBinder.EndTryReceive(IAsyncResult result, RequestContext& requestContext)
at System.ServiceModel.Dispatcher.ErrorHandlingReceiver.EndTryReceive(IAsyncResult result, RequestContext& requestContext)".
答案 0 :(得分:0)
答案 1 :(得分:0)
最后我可以理清ans,
我做了一些我纠正过的错误,
Trasport Type : WCF-OracleDB
EnableBiztalkcompatibilityMode : True
PollDataAvilableStatment : SELECT count(*) FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE='CREATED' Polling Action : http://Microsoft.LobServices.OracleDB/2007/03/RADAR/PollingProcedure/BTS_RAD_POLLMANAGESTATEDOCAMD polling Statement :
<ns0:BTS_RAD_POLLMANAGESTATEDOCAMD xmlns:ns0="http://Microsoft.LobServices.OracleDB/2007/03/RADAR/Procedure">
<ns0:P_RC_IN>OPEN ? FOR SELECT * FROM RAD_BTS_MANAGE_DOCAMS WHERE MESSAGE_STATE='CREATED';</ns0:P_RC_IN>
</ns0:BTS_RAD_POLLMANAGESTATEDOCAMD>
use ambient Transaction : False
我的错误是我在xmlns的Polling声明中调用了poll动作的url。这里的URL假定来自不同的Schema。
另一个错误是在我的陈述中我没有包括;