问题标签 [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.
ssis - BIML 脚本任务未按预期生成
我遇到了一个奇怪的BIML问题。我正在使用 BIML 创建 SSIS 包,并且包中的脚本任务很少。它们是非常简单的脚本任务,下面是一个示例。
BIML 可以很好地生成包,但是脚本任务只有在我在设计器中打开脚本任务时才有效,单击编辑脚本然后关闭而不进行任何更改。如果我立即运行该软件包,则会引发以下错误。
无法将“System.__ComObject”类型的 COM 对象转换为接口类型“Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSVariables100”</p>
在编辑器中打开和关闭脚本任务修复了我无法理解的问题。我有大约 50 个包,每个包有 4 个脚本任务,所以我无法打开每个包中的每个脚本任务以使其工作。
我将 Visual Studio Prof 2015 与 BIMLExpress 版本 5.0.61915.0 和 .NET 框架 4.7 一起使用。这个问题已经占据了我一天的大部分时间,没有任何可能的解决方案。
另一个有趣的事情是我在临时 PC 上安装了 SSDT 2015(VS 2015 Shell),它在那里工作正常,不幸的是我不能使用第二台 PC 进行开发。我已经比较了这两个包,我发现唯一的区别是BinaryItem元素的值。
为了进一步测试这一点,我将脚本任务保持在最低限度,问题是由使用 Dts.Variables 引起的。我不明白是什么导致了这种奇怪的行为。任何帮助是极大的赞赏。提前致谢。小号
ssis - BIML SSIS ScriptTask 作为数据源 - OutputBuffer 出错
尝试使用 ScriptTask 作为数据源通过 BIML 生成包时出现以下错误。我有一个大的(大约 5GB)XML 文件要加载,并想使用 StreamReader 将数据导入数据库。
“Output0Buffer”不包含“PORTF_LIST”的定义,并且找不到接受“Output0Buffer”类型的第一个参数的扩展方法“PORTF_LIST”(您是否缺少 using 指令或程序集引用?)。
这发生在每一列。这些列是动态的,并且来自 ac# 类中查看 dacpac 的单独方法,因此应该在任何地方使用相同的名称和大小写。
文件示例如下:
输出缓冲区定义如下(有 250 个奇数列,但都遵循相同的模式:
我尝试添加到缓冲区的脚本任务代码如下:
我检查了控制台应用程序中的代码,它可以很好地读取 XML 文件,但 BIML 没有运气。大约有 250 多列,所以我试图避免手动执行此操作,所以如果您有任何想法我做错了什么,我将非常感激!
c# - 在 Bimlscript 中引用 Biml 连接字符串(C# 控制块)
我在 Biml 中有一个连接:
我还有 ac# control nuggets 代码来从数据库(MyDB)中获取数据表:
是否可以不重复连接字符串并直接在 Bimlscript 中引用“MyConn”?我的意思是:
谢谢,齐亚德
c# - BIML SsisDataTypeOverride 不起作用
ssis 中的数据转换任务不允许重用现有列以轻松自动映射到目标。
所以我编写了一个 foreach 列并评估了数据类型,将其动态添加到列集合中。
我注意到 DataType 和 Length 是必需的,但是它们对 ReplaceExisting=true 没有影响。
有没有人找到一种方法来强制使用 biml 在派生任务中转换新数据类型?
这不起作用。
在生成 SSIS 包时,使用 (DT_WSTR,length) 转换列确实会出现,但不会更改派生任务中为该列定义的数据类型。
ssis - BIML - 如何使用 BIMLExpress 在脚本项目中设置 .NET Framework 版本
我正在使用免费的 BIMLExpress 在 SSIS 包中创建脚本任务。由于我们的环境中安装了不同版本的 .NET Framework,因此我确实需要能够为脚本项目设置 Framework 版本。虽然我知道如何手动更改它,但手动更改它会非常困难。
我已经尝试寻找解决方案,这个答案建议使用 TargetFrameworkVersion 属性,但我根本看不到该属性,我尝试使用它但没有效果。我不知道它是否仅适用于 BimlStudio 付费版本。
我将 BIMLExpress 5.0.61915.0 与 Visual Studio 2015 一起使用。
任何帮助是极大的赞赏。谢谢
sql - BIML 功能支持
GetDatabaseSchema 似乎没有获取表值函数。是否有另一种使用 BIML 从函数中提取元数据的方法?
c# - 如何将 c# 与 BIML 混合使用?
我有一个 BIML 文件,包括从 SQL 服务器获取 sql 字符串的 C# 脚本,以及可以自定义 sql 字符串的 BIML 项目参数,编码如下:
……
我想用
@[$Project::pTenantKey]
用项目参数替换返回的 sql 字符串中的关键字ProjectSSIS60::pTenantKey
。
但是错误消息显示
找不到别名“ProjectSSIS60”
. 请问如何在 C# 字符串中引用项目参数?先感谢您!
ssis - BIML:在数据流中为 XMLSource 自动创建 OleDbDestinations
我的暂存数据库中有一个带有 2 个输出路径和 2 个表的 XML 文件。表和输出路径确实具有相同的名称。而不是写 2 次 OleDbDestination 并更改 Inputpath 和 ExternalTableOutput 我想使用一些 Bimlscript。
我目前的解决方案:
我想达到的目标:
可悲的是,这不起作用。;-)
在 AstXMLSourceNode 的 API-Documentation 中,我找到了属性“DataflowOutputs”,它“获取此转换的所有数据流输出路径的集合”(听起来很有希望,嗯?)但我什至无法弄清楚如何在 Bimlscript 中引用 XMLSource反正。
从 RootNode 开始,我能够找到我的 Dataflow-Task,但后来我被卡住了,没有设法“找到”我的 Transformations\XMLSource。
任何帮助将非常感激!!
顺便说一句:如果有一种解决方案可以根据给定的 XSD 自动创建目标表,这也将更好。:-)
sql - SSIS BIML 生成带括号的 SQL 代码
我使用 BIML 为 SSIS 动态创建加载包,以将数据从 Informix 加载到 SQL Server。问题是这个BIML代码产生了下面的SQL
但是由于括号,这在我的源数据库中不起作用。有什么方法可以动态获取不带括号的列列表和表名吗?
c# - 无法为脚本组件生成 BIML
我正在尝试使用 BIML <ScriptComponentProject> 标签创建一个简单的流程,但它对我不起作用!
如果我手动创建数据流,那么它工作得很好!
- 我的数据流有:SRC > SCRIPT-COMPONENT > TGT
- 我添加的唯一逻辑是为每个传入行计算一个行号(暂时保持逻辑绝对简单)
执行手动解决方案时:
- 顺序行号存储在 TGT 表中 (test_np_02)
- 伟大的!
但是,当我尝试使用附加的 BIML 创建完全相同的包时,出现以下错误:
SSIS 输出日志:
当我尝试使用 BIML 创建 PKG 时,我不确定出了什么问题:
- 当我手动创建包时(使用相同的代码),这些错误从未弹出
- 我将手动解决方案中的重要 C# 文件复制粘贴到 BIML
问题/想法:
是否与必须用于 ProjectCoreName、AssemblyProduct 和 AssemblyTitle 的 GUID 有关?
- 这是每次扩展BIML时自动生成的吗?
- 如果是这样,我如何在 BIML 本身中为这些项目创建一个 GUID .. 以便它在扩展后直接工作?
这与我必须在 <Files> 标签内的 BIML 中创建 .cs 文件的顺序有关吗?
- 我目前假设 <Files> 标签中 <File> 项目的实际顺序与 BIML 无关
难道我也必须在 BIML 中生成“Resources.resx/Resources.Designer.cs”和“Settings.settings/Settings.Designer.cs”吗?
在每个 .cs 文件中都有“#region 命名空间”部分真的很重要吗?
- 我从手册中删除了它 .. 仍然可以正常工作!
请帮忙。
笔记:
我正在使用 SSDT 2015 和 Varigence BIMLExpress 2017(内部版本 5.0.61915.0)
我知道这可以很容易地在 SRC 本身的 SQLServer 中使用 ROW_NUMBER() 来完成,但是:
- 我在附加示例中使用 OleDbSource 只是为了保持简单
- 最后,我将不得不使用 BIML 生成数百个代码 PKG,它将 SRC 作为平面文件,而不是 OleDB。
- 显然,我希望我生成的 ScriptComponents 在扩展后立即工作.. 无需任何进一步的手动干预:)
谢谢,
NP
BIML 文件:https ://drive.google.com/file/d/10O3aSL5IO34ULS44wl7IX4LUmPH_pI6V/view?usp=sharing