2017-08-03 61 views
0

我正在构建一个SSIS包,并链接到由TFS管理的.sql文件。将文件连接链接到由TFS管理的正确版本的.sql文件的正确方法是什么?SSIS文件连接到TFS文件

我试过使用表达式来设置文件连接的ConnectionString属性为“%USERPROFILE%\ Source \ Workspaces \ foo \ bar.sql”,但在调试模式下执行失败。我收到以下错误:

[Execute SQL Task] Error: An error occurred with the following error message: "Could not find a part of the path 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\%USERPROFILE%\Source\Workspaces\foo\bar.sql'.".

我是在Windows Server上运行Visual Studio 2013 2012

我的问题是:为什么是被错误地解释ConnectionString属性?

更大的问题是:什么是将SSIS解决方案链接到由TFS管理的其他文件的正确方法?

回答

0

您可以创建文件连接以将SSIS解决方案链接到其他文件。并尝试添加一个变量来设置.sql文件折叠路径(绝对文件路径,在TFS中它应该在工作区中)。

要使用SSIS包执行.SQL文件,请参阅下面的文章以了解详细信息。

http://www.techbrothersit.com/2012/10/ssis-execute-sql-files-by-using-ssis.html

,还有一个video tutorial在这里,你可以遵循一步一步的视频来做到这一点。


我测试一下,.sql文件只能在VS本地编译时执行。 但是在TFS中,MSBuild不具备运行SQL脚本的功能,因此您需要拦截MSBuild扩展包并利用SqlExecute。请参考这个主题:Execute SQL script after SSIS build or check-in

如果你想运行.sql文件,你可以试试Run SQL Server Scripts Task扩展名。

enter image description here

+0

我想包括在同一个版本控制,相关的Visual Studio解决方案的SQL文件。问题是,如果它们由TFS管理,SQL文件的路径将根据工作区配置而变化,所以文件路径必须是变量。在我原来的问题中,你可以看到路径没有按预期被解析。 – Alex

+0

@Alex如何指定.sql文件的绝对路径?你是在本地VS还是在TFS中构建?您可以租赁提供详细步骤来重现问题吗?基于我的测试,我们可以在VS中本地构建时执行.sql脚本。你有没有尝试链接视频教程中提到的步骤,如果没有,你可以试试。 –

+0

由于SQL文件是由TFS管理的,因此我无法使用绝对路径,因为它可以根据用户保留其项目本地副本的位置进行更改。或者我错过了什么? – Alex