Я работаю над сценарием powershell, который нуждается в некотором входе из базы данных mySQL.Что касается жизни, я не могу сказать, что я здесь сделал неправильно.
Каждый раз, когда я запускаю этот скрипт, я получаю сообщение об ошибке Exception calling "Open" with "0" argument(s): "Out of sync with server"[0]
.Итак, при первом запуске он извлекает ожидаемые данные и выводит их на экран, а затем при следующем запуске я получаю эту ошибку.И цикл просто повторяется.Вот мой полный код (сейчас это всего лишь тестовый запрос для извлечения, а затем выгрузки данных. Если это имеет значение, сервер mySQL работает на MariaDB 10.3.14 на хосте Ubuntu 18.04.
$error.Clear()
$sqlQuery = get-content -path "C:\querytext.sql" -Raw
$sqlUser = "myuser"
$sqlPass = "mypass"
$sqlHost = "myserver"
$sqlDB = "dbname"
$connectionString = "server= $sqlHost;port=3306;uid=$sqlUser;pwd=$sqlPass;database=$sqlDB"
Try{
$connection = New-Object MySql.data.MySqlClient.MySqlConnection
$connection.ConnectionString = $connectionString
$connection.Open()
$command = New-Object MySql.data.MySqlClient.MySqlCommand($sqlQuery,$connection)
$dataAdapter = New-Object MySql.data.MySqlClient.MySqlDataAdapter($command)
$dataSet = New-Object System.Data.DataSet
$dataAdapter.fill($dataSet, "data") | Out-Null
$command.Dispose()
$sqlResults = $dataSet.tables["data"]
}
Catch {
Write-Host "ERROR : Unable to run query : $query `n$Error[0]"
}
$connection.close()
$sqlResults | Format-Table
$sqlResults | ForEach-Object {
write-host $_.fname
}