【问题标题】:SSIS File Connection to TFS fileSSIS 文件连接到 TFS 文件
【发布时间】:2018-01-11 12:23:44
【问题描述】:

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

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

[执行 SQL 任务] 错误:发生错误并出现以下错误 消息:“找不到路径 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\%USERPROFILE%\Source\Workspaces\foo\bar.sql'。”。

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

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

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

【问题讨论】:

    标签: visual-studio-2013 tfs ssis


    【解决方案1】:

    您可以创建文件连接以将 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 扩展。

    【讨论】:

    • 我正在尝试将 SQL 文件包含在与关联的 Visual Studio 解决方案相同的版本控制中。问题是,如果它们由 TFS 管理,SQL 文件的路径将根据工作空间配置而有所不同,因此文件路径必须是变量。在我最初的问题中,您可以看到路径未按预期解析。
    • @Alex 指定 .sql 文件的绝对路径怎么样?你是在本地 VS 还是在 TFS 中构建它?您能否提供重现问题的详细步骤?根据我的测试,我们可以在 VS 本地构建时执行 .sql 脚本。你试过链接视频教程中提到的步骤吗,如果没有,你可以试试。
    • 由于 SQL 文件由 TFS 管理,我不能使用绝对路径,因为它可以根据用户保存项目本地副本的位置而改变。还是我错过了什么?
    • @Alex 你有没有尝试过使用变量 eg $(build.artifactstagingdirectory), %USERPROFILE% 不应该在构建过程中被识别出来。
    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 2018-12-24
    • 2015-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多