我刚刚切换到Webmatrix,因为我正在使用的服务器停止了对MySQL / PHP的支持。现在,我正在使用SQL Server Compact将旧的php mysql网站转换为Webmatrix。但是我遇到了一点障碍。我正在使用脚本将csv文件直接导入到数据库中,在php / mysql中这并不难,但是我无法使其在Webmatrix和SQL Server Compact中工作。有人对为什么它不起作用有任何想法吗?
mysql_query("TRUNCATE TABLE `tmp_st_age`"); $age = 'load data local infile "../csv/tmp_st_age.csv" into table `tmp_st_age` fields terminated by ";" enclosed by "\"" LINES TERMINATED BY "\r\n" IGNORE 1 LINES'; mysql_query($age) or die(myqsl_error()); echo "Done! ".mysql_affected_rows()." rows inserted into tmp_st_age.<br>";
上面的代码是我试图在Webmatrix中实现的东西,但是我似乎无法正确理解。难道这仅是mysql功能?如果是这样,那么有什么好的解决方法意味着不使用第三方程序,我正在寻找基于Web的输入。
如果您使用的是SQL Server而不是SQL Compact,则可以使用BULK INSERT,这与您在问题中说明的MySQL非常相似。不幸的是,SQL Compact不支持该功能,因此您只能阅读csv并逐行插入每一行。类似于以下内容:
var db = Database.Open("your_db"); var data = File.ReadAllLines(path_to_csv_file); foreach(var row in data){ var columns = row.Split(new []{';'}); var sql = "INSERT INTO MyTable (f1, f2, f3, etc) VALUES (@0, @1, @2, etc)"; db.Execute(sql, item[0], item[1], item[2], etc); }