-
Notifications
You must be signed in to change notification settings - Fork 8
ExecuteSqlFile causes issues with Mysql stored procedure files. #9
Copy link
Copy link
Open
Description
with mysql, a valid sql file may contain things that are not valid for a single query ( such as DELIMITER $$ )
To Recreate:
build.cake:
#addin "Cake.SqlTools"
#addin "nuget:?package=MySql.Data"
using MySql.Data.MySqlClient;
Task("Recreate1").Does(()=> {
var settings = new SqlQuerySettings {
Provider = "MySql",
ConnectionString = __the_connectionstring
};
var k = ExecuteSqlFile("test.sql", settings);
}); //fails
Task("Recreate2").Does(() => {
using(var connection = new MySqlConnection(__the_connectionstring))
{
connection.Open();
var dat = System.IO.File.ReadAllText("test.sql");
var script = new MySqlScript(connection,dat);
script.ExecuteAsync().GetAwaiter().GetResult();
}
}); //works
test.sql:
DELIMITER $$
DROP PROCEDURE IF EXISTS testproc $$
CREATE PROCEDURE testproc()
SQL SECURITY INVOKER
BEGIN
SELECT 1;
END $$
DELIMITER ;
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels