我只想执行以下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;"
我得到了预期的结果。
我找到了这个问题,但是并不能解决我的问题。
我正在尝试将SQLIse(SQLPSX项目的一部分)移植到MySQL版本MySQLIse。
我想处理任何简单的有效mysql语句。
编辑:
我正在尝试运行sakila- schema.sql的一部分mysql demo数据库安装脚本,该脚本由类似
mysql>源C:/temp/sakila-db/sakila-schema.sql;
我在此博客中找到了解决方案
我必须添加
;Allow User Variables=True
到连接字符串:
$connectionstring = "Server=$Server;Port=$port;Database=$DataBase;Uid=$User;Pwd=$Password;allow zero datetime=yes;Allow User Variables=True"
作品。我使用6.3.6.0版进行了测试。的MySql.Data。
MySql.Data