2017-08-03 82 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