“加载数据infile”插入数据库

问题描述:

我有一个加载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”的说法(S):“命令执行过程中遇到致命错误。”无论我做什么。

但是,当我运行相同的load data infile块与实际值从CSV里面phpmyadmin,一切工作正常。数据被插入到MySQL中。

如果我用正常的insert代替load data infile那么代码执行的很好。

我不得不添加

Allow User Variables=True 

到MySQL数据库连接字符串:

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

和代码正确执行和插入CSV数据到MySQL。