当前位置:高校自动化网 >> sql >> 浏览文章

简述数据库中海量文件的批量转移方法

文章来源:本站原创 作者:佚名


该文章讲述了简述数据库中海量文件的批量转移方法.

下面是关于文件迁移的主要代码:
 static void Main(string[] args)   {      string paperPath = ConfigurationManager.AppSettings["PaperBuildPath"];     Console.WriteLine(string.Format("试卷目录:{0}", paperPath));    Console.WriteLine();     Console.WriteLine("目录是否正确? 正确请按任意键......");     Console.WriteLine();    Console.ReadKey();     string[] files = Directory.GetFiles(paperPath);    int num = 0;     PublicExam[] list = Gateway.Default.FindArray<PublicExam>();    foreach (PublicExam publicExam in list)   {     foreach (string file in files)       {         //源文件名(去除路径后)         string fileName = file.Split('\\').Last();    if (fileName.StartsWith(publicExam.FGuid.ToString(), StringComparison.CurrentCultureIgnoreCase))         {            //目标文件夹            string destFilePath = paperPath + publicExam.FInputTime.ToString("yyyyMM");         if (Directory.Exists(destFilePath) == false)              Directory.CreateDirectory(destFilePath);         //目标文件名          string destFileName = destFilePath + "\\" + fileName;         if (File.Exists(destFileName))             File.Delete(destFileName);            Console.WriteLine(string.Format("正在迁移文件:{0}", fileName));         //迁移文件          File.Move(file, destFileName);         num++;          }        }       }     Console.WriteLine();    Console.WriteLine(string.Format("共迁移{0}个文件,请按任意键退出......", num));      Console.ReadKey();    }  上面例子参考了MSDN 关于File Class 和 Directory Class 的使用方法。

执行效果图如下:

点击浏览下一页

Tips:

目录名(年份+月份) 如:201101

c#   => DateTime.Now.ToString("yyyyMM")

SQL => convert(varchar(6),getdate(),112)

当然仅仅文件迁移是不够的,还有很多工作要做,比如修改程序;更新数据库表记录等等。我知道,这次“手术”不符合开放-关闭原则。

相关文章:
上一篇:sql 2005 sp3安装中的问题
下一篇:如何使用rpm方式安装mysql
最近更新