我刚刚切换到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功能吗?如果是这样,是否有任何好的解决方法意味着不使用第三方程序,基于网络的输入就是我正在寻找的。 p>
答案 0 :(得分:2)
如果您使用的是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);
}