我正在尝试为包创建部署配置/文件。我有许多可配置的变量,连接管理器等。对于变量,我只想配置值而不是其他任何东西。我不想转到每个变量,然后单击该复选框。是否有更快的方法来配置程序包以进行部署?
答案 0 :(得分:2)
一旦定义了包使用配置,就可以关闭包,编辑配置源(文件或表条目)并预先设置,一个配置变为30。
我创建了一个新包并添加了一些变量。使用向导,我将把变量Blasto
的value属性放入配置文件中。
我只为变量Blasto
验证将在我的配置文件中构建的内容与之前的屏幕截图匹配
生成的XML看起来像
<?xml version="1.0"?>
<DTSConfiguration>
<DTSConfigurationHeading>
<DTSConfigurationFileInfo GeneratedBy="home\bfellows" GeneratedFromPackageName="Package1" GeneratedFromPackageID="{085B2116-4597-4E3A-8659-2815C82E5055}" GeneratedDate="1/15/2014 12:34:37 PM"/>
</DTSConfigurationHeading>
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Blasto].Properties[Value]" ValueType="Int32">
<ConfiguredValue>-1</ConfiguredValue>
</Configuration>
</DTSConfiguration>
如果您返回并选择Variable3
,最终结果将是将另外一个条目添加到现有配置文件中。我的方法,特别是当我忘记在部署后配置某些东西时,只需编辑配置实体。我使用过SQL Server表,但XML也是如此。
当应用配置时,对于SQL Server和XML源,那些可以定义要应用的配置集合,而不是环境变量或注册表(我太懒了,无法完成父/子配置)。
如果我复制,粘贴,编辑特定于Configuration标记的行以包含这3个变量
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Variable].Properties[Value]" ValueType="Int32">
<ConfiguredValue>100</ConfiguredValue>
</Configuration>
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Variable1].Properties[Value]" ValueType="Int32">
<ConfiguredValue>200</ConfiguredValue>
</Configuration> <Configuration ConfiguredType="Property" Path="\Package.Variables[User::Variable2].Properties[Value]" ValueType="Int32">
<ConfiguredValue>300</ConfiguredValue>
</Configuration>
Bickety bam,当我重新打开包时,发现这3个变量现在由配置驱动。
外壳和变量的路径很重要。损坏的配置文件不会导致程序包中止。相反,你得到一个小小的警告,说错过配置,但不要担心,它会以设计时值运行。有一位同事设法将开发数据混合到生产环境中。大“oopsie”本身但只是把“警告只是等待成长的错误”的口号带回家了