C#海量SQL更新查询

C#海量SQL更新查询,第1张

概述无处不在的场景: 我有一个180万行文本文件,我需要注入一个SQL表,我的代码工作正常,只是有点慢(如每天250k行).不幸的是,我有大约4个这样大小的文本文件,所以我需要一种方法来加快这个过程.任何帮助,将不胜感激.如果某些代码看起来不正确,那么我会省略一些隐私的东西.我知道我可以砍掉file.appendall,但我用它来跟踪它,我也做了明星,所以我可以在第二天拿起来不停止备份. Direct 无处不在的场景:

我有一个180万行文本文件,我需要注入一个sql表,我的代码工作正常,只是有点慢(如每天250k行).不幸的是,我有大约4个这样大小的文本文件,所以我需要一种方法来加快这个过程.任何帮助,将不胜感激.如果某些代码看起来不正确,那么我会省略一些隐私的东西.我知道我可以砍掉file.appendall,但我用它来跟踪它,我也做了明星,所以我可以在第二天拿起来不停止备份.

DirectoryInfo dinfo = new DirectoryInfo(ocrdirectory);fileInfo[] files = dinfo.Getfiles("*.txt");foreach (fileInfo filex in files){        string[] primaryfix = file.ReadAlllines(dinfo + "\" + filex);        string filename = filex.ToString();        string[] spltifilename = filename.Split('.');        foreach (string primary in primaryfix)        {            string sqltable = ("dbo.amu_Textloadingarea");            string sql = "update " + sqltable +                          " set [Text] = [Text] + '" + primary +"|"+                          "' where unique = '" + spltifilename[0] + "'";            file.AppendAllText(@"C:\convert\sqltest.txt",sql+"\n");            sqlConnection con = new sqlConnection("Data Source= Cote ;Initial Catalog= eCASE;Integrated Security= sspI");            con.open();            sqlCommand cmd = new sqlCommand(sql,con);            sqlDataReader reader = cmd.ExecuteReader();            con.Close();            Console.Writeline(start);            start++;        }
解决方法 你需要研究BulKcopY.特别是,看看sqlBulkcopy类.

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

http://msdn.microsoft.com/en-us/library/7ek5da1a%28VS.80%29.aspx

关于使用sqlBulkcopy将大型文本文件(1M行)加载到DB的一个不错的博客条目

http://blog.stevienova.com/2008/01/16/net-fastest-way-to-load-text-file-to-sql-sqlbulkcopy/

总结

以上是内存溢出为你收集整理的C#海量SQL更新查询全部内容,希望文章能够帮你解决C#海量SQL更新查询所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1225338.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存