问题标签 [custom-pipeline-component]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
146 浏览

sql-server - 在自定义 SSIS 数据流组件中使用 OleDb 连接管理器时的事务支持

我用谷歌搜索了很多,并反复偶然发现一些让我感觉的文章——这行不通!

根据此链接 https://docs.microsoft.com/en-us/sql/integration-services/extending-packages-scripting/data-flow-script-component/connecting-to-data-sources-in-the-脚本组件?视图=sql-server-2014

在脚本组件中编写托管代码时,不能调用返回非托管对象的连接管理器的 AcquireConnection 方法,例如 OLE DB 连接管理器和 Excel 连接管理器。但是,您可以读取这些连接管理器的 ConnectionString 属性,并使用 System.Data.OleDb 命名空间中的 OLEDB 连接的连接字符串直接在代码中连接到数据源。

而且我相信,如果我不能调用 Acquire Connection,那么我就不能参与组件容器在 SSIS 包中启动的事务。

我现有的 SSIS 包使用 OLEDB 连接管理器(本机),我的自定义组件将使用相同的连接管理器。目前,我正在使用连接字符串而不调用 Acquire Connection - 在这种方法中,由于我正在创建一个新连接,因此组件无法参与父 SSIS 序列容器可能已经启动的任何事务,而这反过来又不会如果下游发生故障,导致自定义组件所做的更改回滚。由于巨大的影响,将现有的连接管理器更改为 ADO.NET 看起来并不可行,因为现有的 OleDb 连接管理器用于许多 OleDb 组件,如现有代码中的 OleDb 目标。

有什么办法可以解决这个问题 - 所以基本上我想让事务在自定义组件中使用 OleDb 连接管理器工作?

0 投票
0 回答
44 浏览

dll - 如何在 BtsCatalogExplorer 中查找管道组件?

我正在尝试开发一种用于在 BizTalk 中查找依赖项的工具,以帮助我的团队了解对某个组件的更改将产生多大的影响。

我使用Microsoft.BizTalk.ApplicationDeployment.Group来查找为某些应用程序及其依赖项部署了哪些 DLL。如果我查看一个 DLL,我可以看到它引用了哪些其他 DLL。灵感来自https://www.biztalk360.com/blog/how-to-access-biztalk-application-resources-programmatically/

但是我发现我缺少一些我知道存在的依赖项,尤其是管道组件。所以我开始考虑改用Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer

我在BtsCatalogExplorer.Applications.Pipelines中很容易找到我的管道,但我找不到它在某处引用任何管道组件。

这些类的文档记录很差,我经常在找到我要找的东西之前就迷路了。有谁知道我在哪里可以找到管道组件?