您可以使用oracle dataadapter从数据库中选择XML吗
使用xmlagg查询选择xmlagg xmlelement。。。从数据库中选择XML将允许对我们获取的数据的格式进行更多的控制 基于查询的模式生成为我们提供了标准的polingstations,其中包含xml的单个记录。为该xml创建模式也很容易,只要遵循 但是,将此模式添加到元素的datastructure类型不起作用。我可以在下拉列表中选择模式,但当选择该模式时,它会重置回以前选择的条目,但任何其他条目都有效。在下图中,order_标题是我想要使用的标题 我试图忽略模式,看看是否可以映射结果,但pollingstatement中的数据实际上是转义的 订单\标题订单\ id 206817/订单\ id您可以使用oracle dataadapter从数据库中选择XML吗,xml,oracle,biztalk,Xml,Oracle,Biztalk,使用xmlagg查询选择xmlagg xmlelement。。。从数据库中选择XML将允许对我们获取的数据的格式进行更多的控制 基于查询的模式生成为我们提供了标准的polingstations,其中包含xml的单个记录。为该xml创建模式也很容易,只要遵循 但是,将此模式添加到元素的datastructure类型不起作用。我可以在下拉列表中选择模式,但当选择该模式时,它会重置回以前选择的条目,但任何其他条目都有效。在下图中,order_标题是我想要使用的标题 我试图忽略模式,看看是否可以映射结果
有没有人将oracle dataadapter与xml查询相结合?知道我哪里出错了吗?存储过程是更好的解决方案吗?我能不能找到一种方法,使数据不改变
现在,XMLRecieve管道将使您的查询与您生成的模式分离。这种取消匹配是必要的,因为从理论上讲,一个查询可以在一个结果中生成多个文档,该结果将具有多个根节点,这将是无效的。或者,您可以将查询设计为生成除根节点以外的所有内容,然后使用适配器设置分配根节点,但我自己并不喜欢这种方法,我更喜欢能够快速、轻松地测试查询结果,而无需修改。解决方案相当简单,但很难找到相关文档 我通过使用适配器服务并将XML查询放入绑定中来创建receiveport。这创建了一个模式,直到包含XML的节点,在我的例子中,这称为XML 如果您只运行它,它将创建一个XML,您在其中创建的XML是XML元素中的一个字符串,所有这些都转义为 要从轮询语句中获取元素,首先需要创建一个模式,通过从格式良好的XML生成一个模式,可以很容易地实现这一点 然后更改receiveport入站BizTalk消息正文,使其源为Path,并从Visual Studio中复制包含XML数据的元素上XML元素属性的实例xpath 将xpath从元素属性复制到receiveport设置。您可以编写Xpath,但我不能重新编写。名称空间有点奇怪 此时,传入的消息是一个遵循结果XML模式的XML,可以作为BizTalk中的任何XML使用,实际上比使用Oracle适配器时得到的标准XML要容易一些,因为您去掉了pollingstmt/pollingrecord/pollingrecord结构
我想提到的是,根节点需要是唯一的,xpath获取的xml需要为它找到一个模式 感谢您的回答,但是对于Oracle适配器,Typedpolling和XMLPolling都不可用。我已经找到了解决这个问题的方法,但是我仍然在努力。啊,很抱歉,我已经习惯了使用sqlBinding。您能够检查生成的XML吗?我提到的其中一种类型化轮询方法可能仍然有效,假设您的XML刚刚嵌入到一个意外的位置,您可以提取它。我成功地完成了,您的提示对我帮助很大。如果没有更好的替代方法,我将在几天内接受这一答案。