2016-04-01 15 views
0

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?

+0

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

cevap