有人做过吗?如果是这样,您使用了哪些工具/技术/方法?
是否可以安装 Visual Studio 的 SQL Business Studio 版本?
提前致谢!
就像 booyaa 说的 SSIS 项目不需要编译,但我所做的是使 .dtconfigs 可以通过构建/部署过程进行配置。
我这样做是为了可以在不同环境中运行部署包。因此构建将复制 dtconfig 文件的模板。这包含令牌 -$(Servername) $(ConnectionString)
然后我在部署时进行替换,然后通过将 dtexec 包装在命令中来执行。
不确定2012年。
明白了各位...
1) 安装 MSBuild 扩展
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 文件上的路径值,使其指向正在执行编译的路径。