问题标签 [rhino-etl]
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.
c# - Rhino-etl/C# 数据映射问题
我正在尝试从一个数据库中检索数据并将其插入另一个数据库,我正在使用 Rhino-etl 在 C# 应用程序中执行数据映射。目标数据库位于服务器上,源数据库位于我的本地计算机上。每次我运行程序时,它都会返回以下错误...
“执行操作失败...” “将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。”
这个问题显然与日期字段有关。
如果我从另一台机器上运行这段代码,我不会遇到这个问题。我检查了本地和数据库服务器(以及数据库)的语言,查看了区域设置,甚至在插入日期字段值之前将它们转换为“dd-MMM-yyyy”到目标数据库。有什么建议么?
rhino-etl - Rhino-Etl 中的链式输入操作
我最近才开始将Rhino-Etl用于非常简单的 ETL 流程,并取得了巨大的成功。我现在有一个稍微复杂的场景要解决,我没有发现 ConventionInputCommandOperation 的行为方式符合我的预期。
我已经完成了一个非常简化的示例来说明我正在尝试做的事情。基本上我涉及两个系统,在我第一次查询系统 1 之前,我不知道我想从系统 2 得到什么。我认为在另一个 InputOperation 之后立即注册一个 InputOperation 就像一个循环一样。这样操作 1 中的每一行都将馈送到操作 2。下面的代码失败并显示“无法执行操作 DetailReader:必须声明标量变量 @PlanetAbbrv。” 所以我的问题是你打算如何处理输入操作依赖于先前输入操作的情况?
谢谢,布赖恩
c# - Rhino ETL - 中途取消 EtlProcess
我有一个 Rhino ETL 进程,它执行几个顺序操作,其中第一个是转到 SQL Server 数据库并检索一些行(即整个过程的“提取”部分)。
EtlProcess
如果在这个阶段没有返回行,我想制造炸弹。我该怎么办?我已经尝试过压倒一切OnFinishedProcessing()
,但我看不到一种明显的方式来表明EtlProcess
应该轰炸。
到目前为止我所拥有的:
c# - RhinoETL 与 web 服务结果合并表
我在 SQL Server 中有一个从 Web 服务填充的表。我希望它按计划刷新。我想要一些类似于 SQL 合并操作的东西。
那就是我定义了我的源(Web 服务)和我的目标(SQL 表),并且我定义了如何处理从源中丢失的目标和匹配项。
让我们考虑一个场景,我在表Description和Deleted中只有两个字段,并且 Web 服务仅提供Description。
如果表和 Web 服务中都存在描述,那么我只是更新(或不更新)。
如果 Web 服务中存在描述,但表中没有,我希望将其插入
如果 Web 服务器中不再存在描述,我希望将其标记为 Deleted = true
我目前拥有的是:
这是要走的路吗?我会想象更多的逐步过程,比如
但据我了解,每个寄存器将其行返回到下一个,所以如果我过滤不匹配的,那么其他两个将什么也不做。
我应该为每个案例创建一个新流程吗?
顺便说一句,我正在寻找有关 RhinoEtl 的文档。你知道任何链接吗?有教程吗?
c# - 顺序分支/分支顺序流水线
我需要一些有关 Rhino ETL 框架管道的帮助。
必需是一种操作链接,它,
- 允许分支,
- 顺序操作(逐行),
- 将原始输入行返回到进入分支的管道。
1.注册/部分注册
要求 b.) 包含在通常的 Register(...) 和 Partial.Register(...) 初始化中,但通过设计,这会将转换后的行返回到管道
2. 分支操作
使用 BranchingOperation 涵盖了要求 a.),但是每个分支在管道切换到另一个之前处理所有行并且永远不会返回到原始管道。
3.缓存行
解决该问题的肮脏(并且在我的场景中不起作用)的可能性:将当前行保存在“分支”之前的列中并在之后恢复它。这取决于分支中的每个操作都不会更改存储原始行的列,至少在示例的最后一个分支中这是不可能的。
是否有满足这些要求的 BranchingOperation(如 SequentialBranchingOperation...?)的任何实现?或任何其他想法如何解决该问题?
c# - 我们如何让 Rhino ETL 将坏行重定向到不同的目标表?
我们正在将 SSIS 包迁移到 Rhino ETL。SSIS 包当前将错误行输出到一个备用目标表,其中所有列都可以为空且为 varchar。好的行会转到真正的目标表,但一旦出错,它会将坏行重定向到另一个错误表。有没有办法让 Rhino ETL 做同样的事情?
目标表是 Sql Server 2008 R2 SP2。
c# - 如果存在转换异常,则将异常记录在日志文件中
如果在迭代文件数据时出现任何转换异常,我需要记录异常消息,然后继续下一个数据。
例如,如果输入文件有 10 条记录,并且由于第 7 条记录而引发异常。然后我需要为 1-6 和 8-10 生成返回行,以及第 7 条记录的日志记录异常。
我正在使用以下代码使用文件数据生成行:
rhino-etl - Rhino ETL C# DelimitedRecord
我想知道是否有办法忽略 DelimitedRecord,如果它在我的文件中找到像“70,000 - 99,999”这样的字符串
文件样本:
1、“70,000 - 99,999” 6、“20,000 - 99,999” 8、“50,000 - 99,999”
c# - 如何使用 RhinoETL 框架读取 SQL Server 表?
RhinoETL 上的许多示例代码都谈到了从 csv 文件加载并插入数据库。如何从 SQL Server 数据库执行读取并将其行输出到控制台?您是否有执行简单 dbread 和批量读取的示例代码?
作者的博客显示了一些示例代码,但它似乎不完整,或者我遗漏了一些东西。
我的非工作代码
c# - 如何使用 FileHelpers 分隔具有不同 RowTypes 的行?
例如,我有下一个文件 test.txt 有两行:
Type00007P 008 PPL
类型00230J 190 1
我的代码中的下一个类使用 Rhino-ETL Nuget 在我的数据库中插入这些行:
如果我使用下一个代码提取行,我无法区分同一文件中的行 Type00007P 和行 Type00230J:
那么,如何读取第一个固定字段以获取 RowType,然后使用正确的类处理整行?
问候!