2014-12-13 2 views
0

У меня возникла проблема с загрузкой CSV-файла в базу данных MySQL. Вот мой код:«Загрузка данных infile», вставляемых в базу данных

$sql [email protected]" 
LOAD DATA LOCAL INFILE 'e:\\03-06-44.txt' INTO TABLE monitor.app_meter CHARACTER SET UTF8   FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY '\n' 
IGNORE 1 LINES 
(name,total,@var1,@var2) 
SET start = STR_TO_DATE(@var1, '%m/%d/%Y %r'),end = STR_TO_DATE(@var2, '%m/%d/%Y %r') 

"@ 


$MysqlQuery.CommandText = $sql 
$MysqlQuery.ExecuteNonQuery() 

Я получаю Исключения вызова «ExecuteNonQuery» с «0» аргументом (ы): «фатальной ошибкой во время выполнения команды.» что бы я ни делал.

Но когда я запускаю тот же блок load data infile с фактическими значениями из CSV внутри phpmyadmin, все работает нормально. Данные вставляются в MySQL.

Если я заменил load data infile нормальным insert, тогда код выполняет штраф.

ответ

1

мне пришлось добавить

Allow User Variables=True 

в строке подключения MySQL DB:

$Conn.ConnectionString = "SERVER=mysqlserver.localhost;DATABASE=xxx;" + 
         "UID=xxx;PWD=xxx;Allow User Variables=True"

и код выполняется правильно и вставить данные CSV в MySQL.

Смежные вопросы