有人这样做过吗?如果是,您使用了哪些工具/技术/方法?
是否可以安装Visual Studio的SQL Business Studio版本?
提前致谢!
答案 0 :(得分:1)
就像booyaa说SSIS项目不需要编译,但我所做的是使.dtconfigs可以通过构建/部署过程进行配置。
我这样做是为了让我可以在不同的环境中部署包。因此构建将复制dtconfig文件的模板。
这包含令牌 - $(Servername) $(ConnectionString)
然后我在部署时进行替换,然后通过将dtexec包装在命令中来执行。
对2012年不确定。
答案 1 :(得分:1)
得到了人们......
1)安装MSBuild Extensions
2)创建了一个Build.Xml文件......
<Project ToolsVersion="3.5" DefaultTargets="Default" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\ExtensionPack\MSBuild.ExtensionPack.tasks"/>
<Target Name="Default">
<PropertyGroup>
<OutputRoot>../../../build-artifacts</OutputRoot>
</PropertyGroup>
<ItemGroup>
<SSISProjectFile Include="SSISProject.dtproj"/>
<SSISProject Include="@(SSISProjectFile)">
<OutputDirectory>$(OutputRoot)</OutputDirectory>
</SSISProject>
</ItemGroup>
<ItemGroup>
<Namespaces Include="Mynamespace">
<Prefix>DTS</Prefix>
<Uri>www.microsoft.com/SqlServer/Dts</Uri>
</Namespaces>
</ItemGroup>
<MSBuild.ExtensionPack.Xml.XmlFile
TaskAction="UpdateElement"
File="EnclarityDataImport.dtsx"
XPath="//DTS:Property[@DTS:Name='ConfigurationString']"
InnerText="$(MSBuildProjectDirectory)\EnclarityDataImport.dtsConfig"
Namespaces="@(Namespaces)"/>
<MSBuild.ExtensionPack.SqlServer.BuildDeploymentManifest InputProject="@(SSISProject)"/>
</Target>
唯一的诀窍是这里构建的最后一部分。默认情况下,visual studio会为您的dtsx包添加配置和连接字符串文件的绝对路径。 Team City将结合MSBuild扩展使用这些扩展来构建程序包,因此本地路径将破坏构建,因为Team City中构建目录的路径是自动生成的。因此,使用上面的代码和$(MSBuildProjectDirectory),您可以在dtsx文件中旋转路径的值,使其指向编译所涉及的路径。