Я пытаюсь получить доступ к MySQL через PowerShell, работающий на Ubuntu 18 и испытывающий некоторые затруднения при загрузке Assembly. Ниже приведен код, который работает в Windows.
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $ConnectionString
$Connection.Open()
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($query, $Connection)
$DataAdapter = New-Object MySql.Data.MySqlClient.MySqlDataAdapter($Command)
$DataSet = New-Object System.Data.DataSet
$RecordCount = $dataAdapter.Fill($dataSet, "data")
$returnVariable = $DataSet.Tables[0]
Строка PS в Ubuntu выдает ошибку: строка 1 [void] [System.Reflection.Assembly] :: LoadWithPartialName ("MySql.Data")
Я пытался скопировать некоторые DLL с локального компьютера с Windows в ту же папку, чтобы увидеть, если это имеет значение.
Сервер MySQL работает на компьютере с Ubuntu, на котором я запускаю скрипт.
Возможно ли это или мой синтаксис неверен для PS в Ubuntu или мне нужно загрузить что-то еще на сервер?
Я продолжу свои поиски, но пока не буду придумывать много.
Это было проблемой синтаксиса:
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
Измененный на:
add-type -path "/home/ubuntu/MySql.Data.dll"
и это работает успешно теперь.