MySqlConnector.ExecSql (SqlScript.Text); kod satırım.FireDac MySql Connector.ExecSql çalışmaz
SqlScript.Text Senaryonun başarısız olduğu IDE bilmek bir hata kodu formunu uyuyamıyrom
CREATE TABLE IF NOT EXISTS timecard.VersionControl (
`Table` varchar(30) NOT NULL,
`Version` DECIMAL NOT NULL,
PRIMARY KEY (`Table`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
DROP PROCEDURE IF EXISTS timecard.UpdateVersionControl;
DELIMITER $$
CREATE DEFINER = 'root'@'localhost'
PROCEDURE timecard.UpdateVersionControl(IN `Tab` VARCHAR(30), IN `Ver` DECIMAL)
BEGIN
if EXISTS(SELECT * FROM timecard.VersionControl WHERE `Table` = Tab) THEN
UPDATE timecard.VersionControl SET `Version`=Ver WHERE `Table`=Tab;
else
INSERT INTO timecard.VersionControl (`Table`, `Version`) VALUES (Tab, Ver);
END IF;
END$$
DELIMITER ;
ile yüklenir.
Komut dosyasını MySql çalışma tezgahında çalıştırırsam, iyi çalışıyor.
Tablo oluşturmayı tek bir komut dosyası olarak çalıştırırsanız ve Prosedürü ayrı bir komut dosyası olarak çalışıyorsa, iyi çalışıyorsa.
Neden bir ExecSql betiği olarak çalıştırılamıyorum?
FireDAC'ın yazarı son zamanlarda SO üzerinde "DaSoft" etiketi altında oldukça etkindir, eğer şanslıysanız, size burada cevap verebilir. Burada bir cevap alamıyorsanız, EMBA'nın FireDAC haber grubunu sormayı deneyebilirsiniz, https://forums.embarcadero.com/forum.jspa?forumID=502 – MartynA