MySQL的程序,我創建一個C#程序讀取一個文件.sql
並自動執行它。問題在於,.sql
文件應該是一個過程。我創建了20多個程序。當我的.sql
文件中只有一個程序時,我可以成功執行它。我將如何結合一個.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」類型異常。 --
後命令執行過程中遇到致命錯誤解決,這將是使用在.sql
文件本身的分隔符的
你會得到什麼樣的錯誤? – zedfoxus
*「不起作用」*不能很好地描述您觀察到的實際行爲。它會返回一個錯誤嗎?第一個程序是否被創建,但不是其他程序?關於c#程序如何執行文件內容的信息很少。這是否調用mysql命令行客戶端,作爲外部可執行文件? 「不起作用」是對問題描述的反感。 – spencer7593
你可能想問自己一個問題,「我真的需要從.sql文件讀取嗎?」我這樣說的原因是因爲用SqlCommand和SqlParameters編程實現這樣做會更好。 – waltmagic