2
我正在處理的powershell腳本正試圖針對數據庫運行一些腳本文件(.sql)的內容。我知道數據庫連接正在工作,並且powershell腳本可以查詢數據庫,因爲我已經能夠讓我的腳本確認數據庫中存在記錄。我遇到的問題是讓腳本對數據庫執行插入操作。我的腳本中的相關部分是:Powershell和MySql的問題ExecuteNonQuery
function RunNonQuery($commandText) {
$conn = New-Object MySql.Data.MySqlClient.MySqlConnection
$conn.ConnectionString = GetConnString
$conn.Open()
$cmd = $conn.CreateCommand()
$cmd.CommandText = $commandText
$rowsAffected = $cmd.ExecuteNonQuery()
$cmd.Dispose()
$conn.Close()
return $rowsAffected
}
「GetConnString」僅僅是返回有效的連接字符串的方法。在$的CommandText變量的內容是:
-- CreationDate=4/11/2013 1:04:51 PM
INSERT INTO Patch (PatchName) VALUES ('TestFromPatchFile');
通過調試運行PowerShell腳本,我可以告訴大家,命令文本獲得通過成爲我的「RunNonQuery」方法正確。它似乎並沒有實際針對數據庫執行腳本。 $ rowsAffected始終爲0,執行時沒有錯誤。看看實際的數據庫,我可以確認插入沒有發生。
有人知道我的「RunNonQuery」方法有什麼問題嗎?
如果您刪除評論,它有幫助嗎?它可能不會在換行符中出現,並將整個文本作爲註釋運行。 – 2013-04-11 22:12:47
是的,就是這樣。我更新了我的腳本以使用/ * */comment風格,它工作正常。如果你想創建一個答案,我會接受它。 – William 2013-04-11 22:58:37
很棒;)回答補充。 – 2013-04-12 08:23:48