【发布时间】:2015-05-07 04:43:45
【问题描述】:
我正在创建一个读取.sql 文件并自动执行它的c# 程序。问题是,.sql 文件里面应该是一个程序。我创建了 20 多个程序。当我的.sql 文件中只有一个过程时,我可以成功执行它。如何将所有程序合并到一个 .sql 文件中?我尝试了以下方法:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateSettledMemo`(res_id varchar(45))
BEGIN
UPDATE memo_reservation SET reservation_memostat = 'SETTLED' WHERE
reservation_id = res_id;
END$$
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateUnsettledMemo`(res_id varchar(45))
BEGIN
UPDATE memo_reservation SET reservation_memostat = 'UNSETTLED' WHERE
reservation_id = res_id;
END$$
但没有创建任何内容。它返回的唯一错误是MySql.Data.dll 中发生了“MySql.Data.MySqlClient.MySqlException”类型的未处理异常。命令执行过程中遇到致命错误
【问题讨论】:
-
你得到什么样的错误?
-
“不起作用” 不能很好地描述您观察到的实际行为。它会返回错误吗?是否创建了第一个过程,但没有创建其他过程?关于c#程序如何执行文件内容的信息很少。这是调用 mysql 命令行客户端,作为外部可执行文件吗? “不起作用”是对问题描述的反感。
-
您可能想问自己一个问题,“我真的需要从 .sql 文件中读取吗?”我之所以这么说是因为使用带有 SqlParameters 的 SqlCommands 以编程方式执行此操作会更好。
标签: c# mysql stored-procedures