Я просто хочу выполнить следующий оператор Mysql
SET @a = 1;SELECT @a;
с MySql.Data.MySqlClient
[System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$password = 'mypassword'
$sql = "SET @a = 1;SELECT @a;"
$server = 'localhost'
$port = 3306
$database = 'test'
$User = 'root'
$conn=new-object MySql.Data.MySqlClient.MySqlConnection
$connectionstring = "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes"
$conn.ConnectionString = $connectionstring
$conn.Open()
$cmd=new-object MySql.Data.MySqlClient.MySqlCommand($sql,$conn)
$ds=New-Object system.Data.DataSet
$da=New-Object MySql.Data.MySqlClient.MySqlDataAdapter($cmd)
$da.fill($ds)
$conn.close()
$ds.tables[0]
Я получаю фатальную ошибку.
Когда я заменяю $sql на
$sql = "SELECT DATABASE();"
или
$sql = "SELECT 1;"
Я получаю ожидаемый результат.
Я нашел этот question, но это не решает мою проблему.
Я пытаюсь передать SQLIse (часть проект SQLPSX) в MySQL-версию MySQLIse.
Я хочу обработать любые простые действительные операторы mysql.
EDIT:
Я пытался запустить части sakila-schema.sql демонстрационную базу данных mysql install script, которая запускается чем-то вроде
mysql > ИСТОЧНИК С:/temp/sakila-db/sakila-schema.sql;