0

在我当前的ASP.net MVC 3.0项目中,我陷入了困境。

  1. 我有四个 .txt 文件,每个文件大约有100k 行记录
  2. 这些文件将每周更换为新文件。

我需要从这四个文本文件中查询数据,我无法选择最佳和有效的方式来执行此操作。

我能想到的 3 种方法

  1. 每周将这些文本文件转换为 XML并使用Linq-XML进行查询
  2. 每周从txt 批量导入到 SQL Server并使用Linq-Entities进行查询
  3. 避免直接从文本文件进行所有转换和查询。

任何人都可以提出处理这种情况的最佳方法。

更新:


文本文件的 URL 使用凭据访问 txt 文件的 URL
我应该使用凭据连接到该文件。

一旦我连接成功,我将有如下文本文件,管道作为分隔符
这是文本文件


文本文件中的数据是这样的 现在我必须查找以黄色突出显示的字段并获取该行中的数据。

注意:文本文件的前两行是文件的标题。

4

1 回答 1

0

好吧,因为我找到了自己的方式。希望这对任何有兴趣完成这项工作的人有用。

string url = "https://myurl.com/folder/file.txt";
WebClient request = new WebClient();
                request.Credentials = new NetworkCredential(ConfigurationManager.AppSettings["UserName"], ConfigurationManager.AppSettings["Password"]);
                Stream s = request.OpenRead(url);
                using (StreamReader strReader = new StreamReader(s))
                {
                    for (int i = 0; i <= 1; i++)
                        strReader.ReadLine();
                    while (!strReader.EndOfStream)
                    {
                        var CurrentLine = strReader.ReadLine();
                        var count = CurrentLine.Split('|').Count();
                        if (count > 3 && CurrentLine.Split('|')[3].Equals("SearchString"))
                        {
                            #region Bind Data to Model
                            //var Line = CurrentLine.Split('|');
                            //CID.RecordType = Line[0];
                            //CID.ChangeIdentifier = Line[1];
                            //CID.CoverageID = Convert.ToInt32(Line[2]);
                            //CID.NationalDrugCode = Line[3];
                            //CID.DrugQualifier = Convert.ToInt32(Line[4]); 
                            #endregion
                            break;
                        }
                    }
                    s.Close();
                }
                request.Dispose();
于 2012-03-09T20:11:04.493 回答