【发布时间】:2017-03-23 14:54:57
【问题描述】:
我有一个旧的 powershell 脚本,我将其从 Windows 移植到在 OS X 上运行的 .Net Core。该脚本连接到 MySQL 数据库并读取/写入数据。
当我在 Windows 下运行它时,我能够使用 MySqlDataAdapter 来存储数据。但是,使用新的官方 MySQL DB 提供程序似乎无法做到这一点(这里是提供程序的链接:here)。 Powershell 版本为 v6.0.0-alpha.12
以下是代码的精简示例:
$command = New-Object MySql.Data.MySqlClient.MySqlCommand($query, $connection)
$dataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($command)
$dataAdapter.SelectCommand.CommandTimeout = 0
$dataSet = New-Object System.Data.DataSet
Try {
$dataAdapter.Fill($dataSet)
$dataTable = new-object "System.Data.DataTable"
$dataTable = $dataSet.Tables[0]
$connection.Close()
} Catch [exception] {
$dataAdapter.Dispose()
$command.Dispose()
$dataAdapter = $null
return $Error
}
它返回的错误是:
New-Object : Cannot find type [MySql.Data.MySqlClient.MySqlDataAdapter]: verify that the assembly containing this type is loaded.
有人知道存储数据以供离线使用的替代/更好的方法吗?还是我只是错过了什么?
【问题讨论】:
-
MySqlAdapter不能用于 .NET Core 1,因为那里没有DataTable。对于 .NET Core 2,似乎还没有人打扰添加支持(请参阅:forums.mysql.com/read.php?38,657477,658168#msg-658168)
标签: mysql macos powershell .net-core powershell-core