simplemente desea ejecutar la siguiente declaración Mysql¿Cómo puedo usar una variable definida por el usuario MySql en .NET MySqlCommand?
SET @a = 1;SELECT @a;
con 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]
consigo un error fatal.
Si se sustituyen $ sql por cualquiera
$sql = "SELECT DATABASE();"
o
$sql = "SELECT 1;"
consigo el resultado esperado.
Encontré este question, pero no resuelve mi problema.
Estoy tratando de portar SQLIse (una parte de SQLPSX project) a la versión MySQL MySQLIse.
Deseo procesar cualquier declaración simple y válida de mysql.
EDIT:
yo estaba tratando de ejecutar partes del sakila-schema.sql la base de datos de demostración MySQL script de instalación que se extiende por algo así como
mysql> FUENTE C:/temp/Sakila-db /sakila-schema.sql;
hace "SET @a = 1; SELECT @a;" trabajar en la herramienta MySql estándar? En TSQL necesita declarar la variable antes de usarla, "DECLARAR @a int; SET @ a = 1; SELECCIONAR @a;" –
sakila-schema.sql comienza con: SET @OLD_UNIQUE_CHECKS = @@ UNIQUE_CHECKS, UNIQUE_CHECKS = 0; –