像在c#中读取sql文本文件 - 示例

问题描述:

如何将c#读取文本文件代码翻译为sql? :像在c#中读取sql文本文件 - 示例

using (StreamReader sr = File.OpenText(FILE_NAME)) 
     { 
      String input = sr.ReadToEnd(); 
      while (!string.IsNullOrEmpty(input)) 
      { 
       int EndLineIndex = input.IndexOf("<entry>"); 
       if(EndLineIndex!=-1) 
       { 
        string Row = input.Substring(0,EndLineIndex); 
        string[] Data = Row.Split("<delim>"); 
        input = input.Remove(0,EndLineIndex+7); 
       } 
      } 

     } 

我读取csv文件,其中列分隔符是和每一行结束。 最重要的是要找到相当于indexOf,substring,split和remove的sql。

+0

为什么直接在SQL这样做呢? SSIS是将数据导入SQL Server的本地解决方案。 – Oded 2012-03-14 20:11:16

+0

尽管完全可以在SQL中执行,但最好是通过SSIS或通过创建使用C#例程的CLR Proc(如果使用MS SQL Server 2005或更高版本)来完成。 http://msdn.microsoft.com/en-us/library/ms190790.aspx – Icarus 2012-03-14 20:14:36

+1

@Icarus - 如果SQL/CLR是一个选项,[SQL#](http://www.sqlsharp.com/)是值得的看。 – Oded 2012-03-14 20:16:21

但是,如果你想将该文件导入SQL-Server中,你可以bulk-insert it directly

BULK INSERT (Transact-SQL)