最近,需要做个功能,从大文件【7百万+行】中导入数据到数据库。由于数据文件和DB不在同台服务器上,因此不太方便用BULK INSERT 这种超变态语句。怎么办呢,调用存储过程一条一条导 or 拼凑insert语句一次导入多条?前者肯定不现实的,后则经测试效果也极其不佳【每次导入2w条,大致需要45分钟+】。怎么办啊,my god?看看System.Data.SqlClient有没有什么超级变态的东东,呵呵,不小心,竟然又看到Bulk了,嘿嘿,只不过是SqlBulkCopy而已,太兴奋了,抓紧看msdn。很快就有了下面的实现方法:
try
{
string beg = DateTime.Now.ToLongTimeString();
string fileName = string.Format("Userinfo-{0}.txt", DateTime.Today.AddDays(DiffDay).ToString("yyyy-MM-dd")); //"Userinfo-2010-07-19.txt";
FileInfo file = new FileInfo(Server.MapPath("../Download/" + fileName));
if (!file.Exists)
{
//JScriptHelper.Alert(this.Page, string.Format("要导入的文件[{0}]不存在,请