Powershell和MySql ExecuteNonQuery出现问题

时间:2013-04-11 21:51:06

标签: mysql powershell

我正在研究的powershell脚本试图针对数据库运行某些脚本文件(.sql)的内容。我知道数据库连接正在运行,并且powershell脚本可以查询数据库,因为我已经能够让我的脚本确认数据库中存在记录。我遇到的问题是让脚本对数据库执行插入操作。我的脚本的相关部分是:

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”方法有什么问题吗?

1 个答案:

答案 0 :(得分:1)

您应该替换--中的CommandText评论。 MySqlClient可能不会注意到换行符,因此,它会注释掉整个命令。

相关问题