像在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。
答
-
Substring
:SUBSTRING -
IndexOf
:CHARINDEX -
Split
:SQL-Server使用表不是数组,this
关于这个问题最好的阅读。 -
Remove
:还使用SUBSTRING)
但是,如果你想将该文件导入SQL-Server中,你可以bulk-insert it directly。
为什么直接在SQL这样做呢? SSIS是将数据导入SQL Server的本地解决方案。 – Oded 2012-03-14 20:11:16
尽管完全可以在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
@Icarus - 如果SQL/CLR是一个选项,[SQL#](http://www.sqlsharp.com/)是值得的看。 – Oded 2012-03-14 20:16:21