首页 > 解决方案 > 无法使用 MySQL 连接器/NET 创建存储过程

问题描述

我无法在 Powershell 中使用 MySQL Connector/NET 创建存储过程。我正在运行 MySQL 5.7。我收到一个非常通用的“命令执行期间遇到的致命错误”。错误信息。我正在运行的示例如下:

$Query = 'DROP PROCEDURE IF EXISTS `TestProc`;

DELIMITER $$
CREATE PROCEDURE `TestProc`()
BEGIN

    SET @Count = 0;
    
    SELECT
        COUNT(*) INTO @Count
    FROM
        INFORMATION_SCHEMA.TABLES;

END$$
DELIMITER ;'
$Error.clear()
[void][System.Reflection.Assembly]::LoadWithPartialName("MySql.Data")
$Connection = New-Object MySql.Data.MySqlClient.MySqlConnection
$Connection.ConnectionString = $ConnectionString
$Command = New-Object MySql.Data.MySqlClient.MySqlCommand($Query, $Connection)
$Command.Connection.Open()
$Command.ExecuteNonQuery()

但是,如果我运行一个更简单的命令,如下所示,它运行时没有错误:

CREATE TABLE testtable (id INTEGER);
INSERT INTO testtable VALUES (1);
SELECT * FROM testtable;
DROP TABLE testtable;

查看 $Error 输出得到以下信息:

Exception calling "ExecuteNonQuery" with "0" argument(s): "Fatal error encountered during command execution."
At line:1 char:1
+ $Command.ExecuteNonQuery()
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : MySqlException

标签: mysqlpowershellmysql-connector

解决方案


推荐阅读