Biztalk BRE策略-在何处存储数据库事实的连接字符串

Biztalk BRE策略-在何处存储数据库事实的连接字符串,biztalk,business-rules,biztalk-2016,btdf,Biztalk,Business Rules,Biztalk 2016,Btdf,使用BizTalk 2016 FP3 CU5 我有一个BRE规则,它接受4个类型化xml文档和一个数据连接。 我已经设置了一个编排,使用调用规则形状执行它 我正在使用BizTalk部署框架(BTDF)进行部署,这很好地将BRE策略部署到。我的问题是,在策略的导出xml(名为NotificationService.xml)中,有一个对规则中使用的数据库的硬编码引用,如下所示: <datarow ref="db_32" server="SDEIDBTI04\CrossRef" dataset

使用BizTalk 2016 FP3 CU5

我有一个BRE规则,它接受4个类型化xml文档和一个数据连接。 我已经设置了一个编排,使用调用规则形状执行它

我正在使用BizTalk部署框架(BTDF)进行部署,这很好地将BRE策略部署到。我的问题是,在策略的导出xml(名为NotificationService.xml)中,有一个对规则中使用的数据库的硬编码引用,如下所示:

 <datarow ref="db_32" server="SDEIDBTI04\CrossRef" dataset="CrossRef" table="Lookups"

我将创建一个静态方法,在其中创建所有逻辑以获取查找值

因此,在这种方法中,您可以使用获取SSO
CrossRefDbServer
设置,然后执行一些c#代码来调用lookuptable并返回值


如果您将注册表设置设置为
1

,则可以在BRE中调用此方法。您使用DB连接的具体目的是什么?在极少数情况下,我会使用未通过发送端口或接收位置配置的DB连接。从外观上看,您正在使用它作为某些交叉引用数据的“查找”functoid?您知道使用BizTalk数据库表的现成外部参照functoid吗?对于像这样的环境设置,SSO配置始终是一个很好的选择。对于您的响应@Dijkgraaf。我以前使用过“标准”BizTalk交叉引用数据库,但在本例中,它们的功能过于强大。db连接字符串是BRE策略所必需的,因为它正在从xml文档中获取源值的交叉引用值,我正在从编排调用规则形状将该值断言到策略中。我当前将连接字符串存储在SSO中,BTDF在创建部署时从它们那里获取连接字符串。也许这里没有改进的余地,但我认为约翰做的不同,我希望有一个更标准的BRE方式!
<!-- ifdef ${_xml_preprocess} -->
  <datarow ref="db_32" server="${Common.Components.CrossRefDbServer}\CrossRef" dataset="CrossRef" table="Lookups" instances="16" selectivity="1" isdataconnection="true" instance="0" />
  <!-- endif -->
<FilesToXmlPreprocess Include="NotificationService.Dynamic.xml" 
Condition="'$(Configuration)' == 'Server'">
  <LocationPath>..\</LocationPath>
  <OutputFilename>NotificationService.Dynamic_Processed.xml</OutputFilename>
</FilesToXmlPreprocess>

<FilesToXmlPreprocess Include="NotificationService.Dynamic.xml" Condition="'$(Configuration)' != 'Server'">
  <LocationPath>..\NotificationService\NotificationService.BRE</LocationPath>
  <OutputFilename>NotificationService.Dynamic_Processed.xml</OutputFilename>
</FilesToXmlPreprocess>

<RulePolicies Include="NotificationService.Dynamic_Processed.xml">
  <LocationPath>..\NotificationService\NotificationService.BRE</LocationPath>
</RulePolicies>