gpt4 book ai didi

ssis - 我可以在记事本中编辑 SSIS 包文件并使用它吗?

转载 作者:行者123 更新时间:2023-12-04 17:10:33 27 4
gpt4 key购买 nike

我刚刚使用 Notepad++ 从bin文件夹中打开了一个SSIS包文件。
以 xml 语法打开的文件。
我可以在 Notepad++ 中编辑这个文件并使用它吗?
或者它在编辑后需要某种编译类型的东西?

最佳答案

编辑 SSIS 包

SSIS 包只是 XML。所以是的,您可以使用您最喜欢的文本编辑器对其进行编辑。

有时,通过文本编辑器编辑包比使用 Visual Studio/BIDS/SSDT-BI 更快、更有效。假设数据流中的字符串的大小从 30 增加到 50,并且您有一个 Union All 。 Union All 上游的组件会“听到”长度变化,但 Union All 下游的组件将卡在 30。 在 VS 中修复它的唯一方法是从 Union All 中删除列(以及所有下游它的消费者)然后阅读它。并可能将其重新添加到所有这些中。

也就是说,很容易犯错误并最终得到一个 FUBARed 的包。但是由于您使用版本控制(我不在乎什么,只是您使用了某些东西)您可以轻松回滚到已知的良好状态。

编译一个 SSIS 包

编译 SSIS 包并不是真正的“事情”。从语言的角度来看,SSIS 包内的 XML 已经编译到字节码级别。我承认这是一个慷慨的声明,但简而言之,没有进行进一步的编译。包被解释并且肯定,也许这些指令被进一步优化,但是在包的编辑中没有发生秘诀,导致比手工编写的更“编译”。

<?xml version="1.0" encoding="utf-8"?>
<DTS:Executable DTS:CreationDate="09/12/2015 11:28:01" DTS:CreationName="SSIS.Package.3" DTS:CreatorComputerName="RHUDAUR" DTS:CreatorName="bfellows" DTS:DTSID="{F003ACF1-6676-485A-9E3E-568DFE7FCE55}" DTS:ExecutableType="SSIS.Package.3" DTS:LastModifiedProductVersion="" DTS:LocaleID="1033" DTS:ObjectName="HelloWorld" DTS:ProtectionLevel="0" DTS:refId="Package" DTS:VersionBuild="0" DTS:VersionGUID="{83703EB8-3F47-4F50-9992-CF0AAA544FAD}" DTS:VersionMajor="0" xmlns:DTS="www.microsoft.com/SqlServer/Dts">
<DTS:Property DTS:Name="PackageFormatVersion">6</DTS:Property>
</DTS:Executable>

以上是定义 2012 SSIS Hello World 包的 XML。它什么都不做,甚至不打印 Hello World 但这已经为解释器做好了准备。

正如我在下一节中所述,如果这是项目部署模型,那么就有一个编译步骤。那里的 SSIS 项目包含包 + 项目级别参数(即使为空)+ 项目级别连接管理器(如果存在)。所有这些东西都必须存在,加上一个列举项目内容的 list 文件和一个类型文件(所有项目的标准文件)。所有这些垃圾都被压缩到一个名为 .ispac 文件的文件中。 .ispac 文件的创建超出了您在文本编辑器中使用普通方法所能完成的工作。

这是我从 Visual Studio 看到的项目

enter image description here

这是生成的 .ispac 文件的样子

enter image description here

使用 SSIS 包

当 Visual Studio/BIDS/SSDT-BI 运行一个包时,它使用 dtexec.exe .从技术上讲,它使用 DtsDebugHost但这仅适用于 Visual Studio 的上下文。如果您想“使用”来自所选文本编辑器的 SSIS 包,您需要链接到 dtexec 位置(x86 或程序文件,取决于所使用的驱动程序)并设置一个参数,如 /file %1其中 %1 代表当前文件名。

如果您使用的是 2012 年新增的项目部署模型,那么这将变得更加复杂。您需要将当前文件与 project.params 文件和任何项目级连接管理器一起编译为 .ispac 文件,然后从 ispac 的上下文运行包。示例参数列表看起来像 /package %1 /project %2其中 %2 是 ispac 文件。

关于ssis - 我可以在记事本中编辑 SSIS 包文件并使用它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32518071/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com