Event para executar uma Query MySQL todo dia meia noite

3 respostas
R

Estou tentando rodar um event no meu banco MySQL para rodar todo dia meia noite, para fazer a integração da base de clientes do ERP para esse banco MySQL.

O que acontece é que o ERP está programado para criar um arquivo CSV com os dados todo dia 11 horas, e eu preciso pegar este arquivo e lançar no meu banco.

Criei o seguinte EVENT :

EVENTO PARA RODAR TODO DIA MEIA NOITE

DELIMITER $$
CREATE EVENT FIM_DO_DIA
	ON SCHEDULE EVERY 1 MINUTE
	DO
		IF DAY(CURRENT_TIMESTAMP) <> DAY(CURRENT_TIMESTAM+INTERVAL '1' MINUTE) THEN
			CREATE TABLE importa_clientes LIKE clientes;
			LOAD DATA LOCAL INFILE  
			'E:\se16n.csv'
			INTO TABLE importa_clientes  
			FIELDS TERMINATED BY ';' 
			ENCLOSED BY '"'
			LINES TERMINATED BY '\r\n'
			IGNORE 1 ROWS
			(ID_CLIENTE, NOME_CLIENTE, LOCAL , REGIAO, BAIRRO, CNPJ, CPF, INSC_EST);
			truncate table clientes;
			insert into clientes select * from importa_clientes;
			DROP TABLE importa_clientes;
		END IF$$
DELIMITER ;

A query está correta, testei e funcionou corretamente, porém o Event não aceita LOAD DATA para buscar no arquivo, ele acusa o erro “ERROR 1314 (0A000): LOAD DATA is not allowed in stored procedures” .

Gostaria de algumas dicas de como posso fazer.

3 Respostas

darlan_machado

Qual o SO onde roda o MySQL e o arquivo é gerado?
Se unix/linux, não é mais interessante um shell script?

R

É um windows Server 2012.

Posso migrar esse banco pra um Linux, porém vou ter que criar um procedimento para enviar este arquivo gerado pelo ERP para esse novo server Linux também.

R

No windows tem alguma forma de fazer?

Criado 28 de junho de 2018
Ultima resposta 28 de jun. de 2018
Respostas 3
Participantes 2