问题标签 [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 投票
6 回答
29425 浏览

sql-server - SSIS 自定义数据流组件错误的原因 - 无法升级

我有一个非常简单的组件,它从管道中的(读/写)字符串中修剪所有前导和尾随空格。据我所知,我的开发机器上只有这个 dll 的一个二进制文件。我将它转移到另一台开发机器并在 GAC 中注册它,但是当我打开一个复制到第二台机器的包时,我收到以下警告:

错误 1 ​​验证错误。数据流任务:DTS.Pipeline:“组件“TrimColumnsComponent”(1909)”的组件元数据无法升级到组件的较新版本。PerformUpgrade 方法失败。LD_CXSUM.dtsx 0 0

我在工具箱中有组件,我可以将另一个组件拖到数据流画布上,它似乎没有任何问题。

这是两台机器上的 SQL Server 2005 和 Visual Studio 2005。

在第二台机器上,我可以从头开始创建一个包,它将加载到构建组件的机器上(但图标是标准用户组件图标,与第二台机器上的相同)。如果我在构建机器上从头开始创建一个包,它具有正确的图标,但它会在非构建机器上提供升级消息。这些文件在组件目录中是相同的,它们具有相同的组件类 ID,并且它们在 GAC 中注册。

我通过检查 XML 手动检查了 dtsx 文件,并且在构建机器和非构建机器上创建的包中,机器之间的类 ID 和公钥是相同的。

什么会导致这种情况?

0 投票
1 回答
390 浏览

biztalk - 接收管道中的 BizTalk Server 线程

我正在为 BizTalk Server(2006 和 2009)中的接收管道构建自定义管道组件。我正在以流式方式构建组件。

我的问题:对于任何单个入站消息,如果我有一个反汇编组件,当我从单个入站消息创建 n 条消息时,消息代理在读取(正文)流并将消息持久化到消息时是否总是使用单个线程盒子?我会这么认为,但确认会有所帮助。

假设我在反汇编程序中创建了 5 条消息,这些消息中的任何一条是否会从同一个线程中按顺序保留?或者这些消息可以并行处理吗?

0 投票
1 回答
1468 浏览

biztalk - 在接收管道中动态添加消息部分

我尝试创建一个自定义管道组件,该组件接受消息并动态附加另一个部分(在 Disassemble 阶段)。我还没有设置发送端口,以便我可以看到 BizTalk 正在尝试处理的内容。我只能看到身体部分,其他部分没有出现。这是我使用的代码:

谢谢你。

0 投票
3 回答
7388 浏览

c# - 如何在 BizTalk 管道组件中有效地修改流中的文本?

我有一个包含文本的流,现在我想在该流中编辑一些文本(替换一些值)。

什么是最有效的方法来做到这一点,所以不破坏流?我想在自定义管道组件中使用它BizTalk

这是代码,但正如您所见,当我这样做时,我正在中断流sr.ReadToEnd()

有没有更好的方法来做到这一点?

0 投票
1 回答
1100 浏览

biztalk - biztalk 自定义 pipelinecomponent 在发送中拆分消息

是否可以创建一个自定义管道组件,将一条消息拆分为 2 条消息,但在发送端口中?我已经看到可以在接收端口使用反汇编接口,但是我们可以在发送管道组件中使用它吗?有人可以给我一个例子来说明如何做到这一点吗?

谢谢

0 投票
1 回答
171 浏览

winforms - BizTalk 自定义管道组件属性调用窗口窗体

我们有一个用于 BizTalk 的自定义管道组件,我们可以在其中设置一些属性(通过属性窗口)。其中一个属性使用 Windows 窗体(用户可以在其中添加一些值)。现在的问题是,如果用户想要从 Visual Studio 复制某些内容,他必须先关闭窗口,复制文本并再次打开窗口。这是因为您无法在 Windows 窗体外部单击(它卡在 Visual Studio 内)。有没有办法解决这个问题,所以你可以从 Visual Studio 中选择文本?也许改变窗口样式左右?

谢谢

0 投票
2 回答
2803 浏览

biztalk - 在 SSO 中存储可配置值

我需要在 SSO 中存储可配置的值,并在运行时在自定义管道组件中检索它们

有关此的任何帮助...

0 投票
2 回答
1086 浏览

biztalk - 如何强制暂停当前消息并稍后从自定义 BizTalk **send** 管道组件中重试?

这是我的场景。BizTalk 需要从共享/中央文档库传输文件。第一个 BizTalk 接收到带有库中此文档的引用/路径的传入消息。然后它只需要从这个库中读取它并发送它(可能通过不同的适配器)。这实质上是一个与 ClaimCheck EAI 模式相距不远的场景。

一些实现声明检查的方法已记录在案,特别是BizTalk ESB 工具包声明检查和 BizTalk 2009:处理超大消息,第 I 部分和第 II 部分。然而,这些实现确实假设发送管道可以立即读取已“签入”的流。</p>

这不是我的情况:文档在共享库中可用之前需要一些时间,我不能延迟最初收到的消息。这给我留下了两个选择:要么通过编排引入一些延迟,要么确保发送端口稍后会在文档不存在时重试。

(延迟只能通过编排引入,BizTalk 中没有基于时间的订阅。对吗?)

由于这是一个仅消息流,我想我可以跳过编排。我已经看到了有关如何在“使用管道的仅消息解决方案中自定义重试逻辑”的方法,但我需要的不仅是一种控制重试行为(由适配器执行)的方法,而且还可以从管道内强制执行它…</p>

到目前为止,我所做的每一次尝试都以暂停消息结束,即使发送适配器已配置重试,也不会自动重试……如果这确实可能,那么我应该在哪里/做什么?

哦,对了……还有排队……但不幸的是,既不在本地也不在云端;)

好吧,我可能是在挑战极限……但只是出于好奇……</p>

非常感谢您的帮助和建议!

0 投票
1 回答
1744 浏览

memory-leaks - PipelineBuffer 不释放内存

我正在关注Rainer Stropek在 1. 创建自定义 SSIS 数据流项和 2. 从 Azure 表存储中提取数据的这篇出色的帖子。 http://www.software-architects.com/devblog/2010/11/12/Custom-SSIS-Data-Source-For-Loading-Azure-Tables-Into-SQL-Server

我将粘贴任何试图回答我的问题的人都会感兴趣的代码:

现在的问题:

我的数据集非常大;假设有一百万条记录。我有一个最简单形式的 SSIS 包,即我的自定义数据源将数据写入平面文件目标。它没有任何转换。

当我运行我的包时,我可以看到记录以大约 10,000 条记录 (DefaultBufferMaxRows) 的形式写入 CSV 文件。

我的问题是,虽然这些记录是写出来的,但它似乎仍然留在记忆中。这最终导致我的包裹减速并停止。我服务器中的所有内存都用完了。

现在我不是 SSIS 专家,但我假设我写入 PipelineBuffer 的记录在使用后没有被释放。“缓冲区”这个词对我来说意味着它可以被“冲洗”。但我找不到任何 API 来做到这一点。

所以我想我的问题是,如何释放分配给已写入平面文件的记录的内存,以便我有足够的内存用于剩余记录?

谢谢你,南顿

0 投票
1 回答
174 浏览

visual-studio-2010 - 部署的管道组件崩溃 VS2010

我正在使用 BizTalk 部署框架 (BTDF) 来部署我的项目,并且该项目中有一个管道组件。该组件似乎部署良好,BizTalk 安装的 Pipeline Components 文件夹中的 dll。但是它没有显示在工具箱中,并且任何重置工具箱的尝试都会导致 VS2010 崩溃,直到组件被删除后才会重新启动......

其他人遇到过这样的事情吗?