问题标签 [biml]

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 投票
0 回答
417 浏览

biml - biml 和脚本组件和外部文件

我有一个外部文件,它是一个 csharp 文件。该代码搜索 Outlook 日历中的公用文件夹,并根据根文件夹名称和日历名称返回日历数据。该代码包括例如:

由于列表中的(我认为)类型,我的 biml xml 被破坏。ServiceResponseCollection 和列表。Biml 将标签 <> 作为 biml 的一部分读取,然后不将文件的其余部分读取为 C#。如何引用 C# 文件,因为我想保持整洁,不必将大量代码发布到 Scriptprojects 中,而是将其作为单独的文件保存,如下所示。

我该如何解决?

0 投票
1 回答
412 浏览

join - 将合并连接转换为 BIML - 需要将 NumKeyColumns 更改为 1

我几乎准备好使用 BIML 文件,但我还有一个问题

我试图将标准的 Merge Join 放入 biml 和 99% 的工作,生成组件并制作 dtsx 但我无法在任何地方设置 numKeyColumns 值

我可以设置 jointype 但是当生成 dtsx 时找不到 NumKeyColumns 它将填写 0 但必须为 1

这是 biml 中的合并连接(没有传入连接)

任何帮助是极大的赞赏

0 投票
1 回答
60 浏览

ssis - 使用外部资源输入 BIML

有没有办法引用具有表名和源查询的 csv 或其他数据源来生成 BIML 文档?

谢谢

0 投票
1 回答
124 浏览

c# - 使用 Biml 和 c# 在 SSIS 中初始化字符串错误

我正在尝试导入一些配置数据表以使用 SSIS、BIML 和 C# 执行动态暂存。最后,我想初始化表 ImportTable 以在 SSIS 中构建我的暂存环境。它向我抛出以下错误:

“初始化字符串的格式不符合从索引 0 开始的规范。”

我读到它可能与ConnectionString有关。我尝试使用空的ConnectionString,但发生了同样的错误。有人有一个想法如何摆脱错误/有替代解决方案。

感谢您的帮助和最诚挚的问候

我的代码:( 任务可能没有更大的意义)

0 投票
0 回答
80 浏览

c# - 使用 BIML 和 C# 的 SSIS 中的连接问题

我在使用 BIML 连接到SSIS中的 OleDBSource遇到问题。我想将我的 MetaData 表导入到我的BIML -Script 以生成Dynamic Staging Process。因此我需要导入我的元数据表。我的目标是使用 foreach-slopes 根据我的元数据表创建我的表/列。

这是我的代码

它向我抛出以下错误

[DBNETLIB][ConnectionOpen (Connect()).]SQL Server 不存在或没有权限。

这对我来说似乎有点奇怪,因为在所有其他情况下,当我使用此ConnectionString时,连接是可用的。

你对如何摆脱这个错误有什么建议吗?

最好的问候,感谢您的帮助

0 投票
0 回答
134 浏览

c# - 在 BIML 中使用 c# 导入配置表

我在SSISBIML中使用c#。我的问题主要是关于以下片段。主要思想是为 SSIS 中的动态暂存过程导入配置表。

代码片段

它抛出以下错误

无法将类型 'string' 转换为 'System.Data.DataRow'

第一个问题:我不得不说我真的不明白那里发生了什么。似乎该程序正在 SQL 数据库上查找原始 DataTable 的 DataType。有人可以解释这里发生的事情并知道如何修复错误吗?

第二个问题:片段的最后一部分发生了什么?

我的第一个猜测是它选择所有大于或等于表中第一行的行并将其转换为字符串?

我的完整代码

0 投票
1 回答
85 浏览

sql-server - BIML OLE DB 连接使用错误的数据库(有时)

我正在使用 BIML 来询问源数据库和目标数据库的架构,检查所有配置是否正确,然后生成一堆 SSIS 包。我的问题是,有时 OLE DB 连接开始使用 Master 系统数据库,而不是我在连接字符串中指定的数据库。我可以通过检查返回的表来判断它是主数据库。

我使用 BIML 标记定义连接:

我主要是在尝试GetDatabaseSchema()在 BIML 根节点上使用 OleDbConnection 对象的方法时遇到这个问题。虽然我在尝试使用 Execute SQL 任务时也遇到过它。执行 SQL 任务很容易解决,因为我可以完全限定表,[DatabaseName].[schema].[Table]但我没有该GetDatabaseSchema()方法的选项。我也尝试过使用ImportDB()andGetTableNodes()他们都遇到了同样的问题。

当尝试从开发环境迁移我的解决方案以测试该问题时再次出现。在过去,这已通过重新启动 Visual Studio(或在 SQL 查询中解决它)来解决。然而,这一次并没有奏效。

我将 BIML Express 与 Visual Studio 2015 一起使用。

有谁知道可能出了什么问题或如何解决这个问题?

0 投票
1 回答
1274 浏览

sql-server - 项目部署到目录后,SSIS 用户变量未更新

我有一个控制流,它使用执行 SQL 任务设置用户变量。在 Visual Studio 中一切正常,但是一旦我将它部署到 SSIS 目录,变量似乎没有被分配。我正在针对完全相同的数据源执行它。

我会准确地解释发生了什么...

带有注释的 SSIS 控制流

序列容器中的第一个任务从状态表中读取为该表记录的最后一个 LSN。如果该表没有条目,则它遵循上图中的路径1 。

在第2步,它使用源数据库上的 CDC 函数读取表的最小 LSN。然后它将 LSN 和该 LSN 的日期时间存储在两个用户变量中。这是数据复制的“窗口开始”。

步骤3从目标表中读取最大更改日期。

如果窗口开始在最新更改日期之前,则步骤4会出现分支,因为这会导致将重复数据导入到目标表中。(我只想说在加载到目标表之前我无法进行重复数据删除......)


当我在 Visual Studio 中运行项目时,一切正常。它通过步骤 1-3,然后继续进行 DFT,因为表的最小 LSN 在目标表中的最大更改日期之后。我已经使用断点来确保变量实际上被正确设置。

一旦我将项目部署到 SSIS 目录,它就会执行第 4 步并记录错误行。它似乎没有设置变量或约束表达式没有使用正确的值。我尝试在执行 SQL 任务中使用结果集和输出参数设置变量。我可以从日志消息中看到源表的最大更改日期是正确的。

一件奇怪的事情是日志消息中的变量值与设计时值不同。设计时间值为“1899-12-25 14:20:00”,但日志消息显示“1899-12-30 00:00:00”。但这可能取决于我使用了错误的转换方法或其他东西。 ..我没有仔细研究它,因为它仍然不应该遵循路径 4。

它在 Visual Studio 中按预期运行但在服务器上具有不同行为的事实让我非常困惑。我想不出是什么原因造成的。

这些包是使用 BIML 创建的,但我认为这实际上没有任何联系。完整的解决方案复制了 100 多个表,每个表一个包。即使我尝试仅对单个包进行调试部署,问题仍然存在。

0 投票
1 回答
1876 浏览

ssis - 将“连接管理器”中已创建的连接用于 Biml 脚本

我在 SSIS“连接管理器”中有一个源连接。它是自定义连接(不是 oledb 或任何其他标准连接类型)。是否可以在 Biml 脚本中重用它(即调用它)而无需再次编写连接字符串?

我在网上看到了两种方法,但都没有和我一起工作:我做了一个连接Advanturwork数据库的例子,下面是项目的截图和错误消息以及两种方法的代码。

这是项目文件。

项目文件

这是连接管理器 XML 文件 (MyConn.conmgr)。

MyConn.conmgr

现在是 Biml 代码(方式 1):

我得到的错误在这里:

错误信息1

第二个Biml代码(方式2):

错误信息是一样的:

错误信息2

示例中的 PS MyConn 是一个 oledb,但在实际项目中,它是一个自定义连接,已在“连接管理器”中定义,我只需要在 biml 脚本中使用(调用它)即可。

谢谢,齐亚德

0 投票
1 回答
220 浏览

ssis - 如何使用 BIML 从高级编辑器(例如 FastParse)设置属性

我正在使用 BIML 创建 SSIS 包,一切正常,但是我无法找到从高级编辑器(例如快速解析)设置属性的方法。

我想对日期字段执行以下操作。

1.添加数据转换数据流组件。
2.右键单击,显示高级编辑器...
3.转到输入和输出属性
4.展开数据转换输出并单击日期列
5.在自定义属性中将 FastParse 设置为 True

这在 SSIS 包中是直截了当的,如何使用 BIML 实现相同的目标。

以下是我用来生成日期字段的示例 BIML。

谢谢