2014-01-15 70 views
1

我有一個模塊化的應用程序,其中每個模塊是一個NuGet包,可以通過管理面板或Visual Studio進行安裝。我目前正處於試驗階段,並且已經創建了一個臨時包。包裏面我有2個文件一個工具目錄:安裝PowerShell腳本不執行

Install.ps1(注意:我已刪除的配置細節):

param($installPath, $toolsPath, $package, $project) 

SQLCMD.EXE -S ??? -d ??? -U sa -P ??? -i Install.sql -b 

而且Install.sql:

INSERT INTO [dbo].[Logs] ([TypeId], [Name], [Details], [CreatedById], [DateCreated]) VALUES (1, 'Setup', 'Install', NULL, GETUTCDATE()) 

然後我將我的軟件包上傳到我的源,並試圖從軟件包管理器控制檯安裝它。但是,數據尚未添加到我的日誌表中,並且沒有發生任何錯誤。庫和依賴關係似乎也已成功添加。另外,如果我手動運行Install.ps1,它會將日誌正確插入到數據庫中。

你知道我在做什麼錯嗎?

我自己也嘗試沒有成功以下Install.ps1腳本:

param($installPath, $toolsPath, $package, $project) 

$connString = "Data Source=..." 

$sqlConnection = new-object System.Data.SqlClient.SqlConnection($connString) 
$sqlCommand = $sqlConnection.CreateCommand() 
$sqlCommand.CommandText = "INSERT INTO [dbo].[Logs] ([TypeId], [Name], [Details], [CreatedById], [DateCreated]) VALUES (1, 'Setup', 'Install', NULL, GETUTCDATE())" 
$sqlConnection.Open() 
$sqlCommand.ExecuteNonQuery() 
$sqlConnection.Close() 

回答

-1

爲什麼不使用SqlConnection連接到數據庫,並執行INSERT查詢?

http://powershellreflections.wordpress.com/2011/02/14/using-powershsell-to-access-sql-data/

$SqlConnection = new-object System.Data.SqlClient.SqlConnection 
$SqlConnection.ConnectionString = $connString 
$SqlCommand = $SqlConnection.CreateCommand() 
$SqlCommand.CommandText = $QueryText 
+0

謝謝,但我仍然無法得到它的工作。我已經用我嘗試使用您的建議的腳本編輯了我的問題。我正確地工作,如果我手動執行腳本,但在安裝包時不起作用。 – nfplee