Simplemente quiero ejecutar el siguiente Mysql declaración

SET @a = 1;SELECT @a;

con MySql.De datos.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]

Tengo un error fatal.

Cuando puedo reemplazar $sql por

$sql = "SELECT DATABASE();"

o

$sql = "SELECT 1;"

Puedo conseguir el resultado esperado.

He encontrado este pregunta, pero no soluciona mi problema.

Estoy tratando de puerto SQLIse (una parte de la SQLPSX proyecto ) para la versión de MySQL MySQLIse.

Quiero proceso de cualquier simple válido mysql declaraciones.

EDICIÓN:

Yo estaba tratando de ejecutar partes de la sakila-esquema.sql el mysql base de datos de demostración de instalar la secuencia de comandos que se ejecuta algo como

mysql> FUENTE de
C:/temp/sakila-db/sakila-esquema.sql;

¿»SET @a = 1;SELECT @a;» el trabajo en el estándar de MySql herramienta? En TSQL debe declarar la variable antes de utilizarla, «DECLARE @int;SET @a = 1;SELECT @a;»
sakila-esquema.sql comienza con: SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0;

OriginalEl autor bernd_k | 2011-04-02

1 Comentario

  1. 42

    He encontrado la solución en este bolg

    Tengo que añadir

    ;Allow User Variables=True

    a la cadena de conexión

    $connectionstring =  "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes;Allow User Variables=True"

    obras. He probado con la versión 6.3.6.0. de MySql.De datos.

    OriginalEl autor bernd_k

Dejar respuesta

Please enter your comment!
Please enter your name here