mysql - 无法使用 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
解决方案
推荐阅读
- spring-boot - 是否可以将 Transactional 与 CompletableFuture 一起使用
- events - WSO2 丢弃事件
- django - 如何使 send_mail 函数发送密件抄送电子邮件 - Django REST API
- c# - 将 WPF 项目转换为 .NET 5 时出现“PreApplicationStartMethodAttribute”错误
- sql - 如何将列乘以从先前查询中获得的值?
- python - What's the correct way to use tf.data.Dataset.map?
- pandas - How to check if all columns of a pandas dataframe are equal to a given value
- machine-learning - 我们如何将自定义同义词列表提供给 NLP 模型(首选 Word2Vec)
- postgresql - Database design for multiple types of entities to use with TypeOrm
- python - Importance of ordering in Eigenvalues