我在TFS存儲庫中維護我的Powershell腳本文件和SQL文件。我正在嘗試從Powershell腳本(它也位於TFS中)準備我的SQL文件。我在構建中調用這個powershell腳本。我在執行時遇到錯誤。在位於TFS的Powershell腳本文件中,如何讀取駐留在TFS中的SQL文件?
$ServerInstance = "ABCServer"
$Database = "MyDB"
$ConnectionTimeout = 30
$Query = get-content "$/MYPROJECT/Queries/GetProjects.sql"
$QueryTimeout = 120
$conn=new-object System.Data.SqlClient.SQLConnection
$ConnectionString = "Server={0};Database={1};Integrated Security=True;Connect Timeout={2}" -f $ServerInstance,$Database,$ConnectionTimeout
$conn.ConnectionString=$ConnectionString
$conn.Open()
$cmd=new-object system.Data.SqlClient.SqlCommand($Query,$conn)
$cmd.CommandTimeout=$QueryTimeout
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)
$ds.Tables[0] | foreach {
write-host 'Name value is : ' + $_.Title
}
$conn.Close()
#$ds.Tables
我PowerShell是保存在 「$/MYPROJECT/PowershellScripts/QueryDB.ps1」
我有這個PowerShell的加入TFS任務在我的構建步驟。我收到以下錯誤
**PathNotFound,Microsoft.PowerShell.Commands.GetContentCommand
Exception calling "Open" with "0" argument(s): "Cannot open database "MyDB" requested by the login**
貌似TFS一部分被不同的帳戶下運行,並缺乏權限的數據庫。檢查Sql Server的日誌失敗的登錄嘗試。 – vonPryz