SSIS 2012 是否允许导出项目的所有连接以进一步导入另一个项目?
3 回答
在 2012 SSIS 项目中,您现在有 2 个选项。2012 年之前的经典方式,称为包部署模型。新的默认模型是项目部署模型。此答案侧重于项目部署模型。
在开始手动编辑文件之前,请使用版本控制系统。虽然您可以手动编辑 XML,但您需要有一个安全的恢复点,以防您丢失文件。
在 SSIS 2012 中,您可以像往常一样将连接管理器限定为包,或者它们现在可以是共享的、项目范围的连接。项目连接管理器出现在 SSDT 的每个包中,无论您是否需要它们。它们以(project)
.
如果您已经创建了一个包连接管理器并希望将其作为项目资源,只需右键单击 CM 并选择Convert to Project Connection
.
需要注意的是,如果您反转这一点,Convert to Package Connection
则只会在当前包中创建该 CM。当它是 2 或 3 包时,这不是那么麻烦,但当它是 20 左右时,这变得乏味。
项目连接管理器有一个与之关联的物理文件。在您的项目文件夹中,每个连接管理器都会有 .conmgr 文件。这定义了所有包共享的连接。但是,由于 .dtproj 文件中的数据,包仅“了解”连接管理器。
如果我想在新项目中重新使用现有的项目连接管理器,我需要将该文件复制到我的新项目文件夹中。之后,我必须编辑 .dtproj 文件并将该文件的名称添加到 ConnectionManagers 标记之间
<DeploymentModelSpecificContent>
<Manifest>
...
<SSIS:ConnectionManagers>
<SSIS:ConnectionManager SSIS:Name="PackageCM.conmgr" />
</SSIS:ConnectionManagers>
现在,当 SSDT 打开项目文件时,您应该会暴露一个项目 CM。
我认为 SSIS 中没有导入/导出连接实用程序。但是,您可以创建包配置文件并将连接管理器包含在其中。然后您可以编辑该文件以在不同的环境中运行您的包,或使用其中的值来更新另一个包的配置文件。