우선은, Jet Provider나 ODBC Provider를 사용하는 방법을 소개합니다.
이것들을 사용하고, CSV 파일을 해석할 수 있습니다.
아래에 Jet Provider를 사용한 예를 소개합니다.
여기에서는 해석된 CSV 파일의 내용을 DataTable에 격납하고 있습니다.
접속 문자열의 「HDR=No」를 「HDR=Yes」라고 하는 것으로써, 1행째를 헤더로 할 수도 있습니다.
//CSV파일이 있는 폴더
string csvDir = @"C:\";
//CSV파일의 이름
string csvFileName = "racer42.csv";
//접속문자열
string conString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
+ csvDir + ";Extended Properties=\"text;HDR=No;FMT=Delimited\"";
System.Data.OleDb.OleDbConnection con =
new System.Data.OleDb.OleDbConnection(conString);
string commText = "SELECT * FROM [" + csvFileName + "]";
System.Data.OleDb.OleDbDataAdapter da =
new System.Data.OleDb.OleDbDataAdapter(commText, con);
//DataTable에 격납한다.
DataTable dt = new DataTable();
da.Fill(dt);
다음은 ODBC Provider(Microsoft Text Driver)를 사용한 예입니다.
.NET Framework 1.1이후에 사용할 수 있습니다.
또한 이 경우는 1행째가 헤더로 처리됩니다.
//CSV파일이 있는 폴더
string csvDir = @"C:\";
//CSV파일의 이름
string csvFileName = "csv";
//접속문자열
string conString = "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq="
+ csvDir + ";Extensions=asc,csv,tab,txt;";
System.Data.Odbc.OdbcConnection con =
new System.Data.Odbc.OdbcConnection(conString);
string commText = "SELECT * FROM [" + csvFileName + "]";
System.Data.Odbc.OdbcDataAdapter da =
new System.Data.Odbc.OdbcDataAdapter(commText, con);
//DataTable에 격납한다.
DataTable dt = new DataTable();
da.Fill(dt);
보다 정확한 CSV 파일 사용법을 알기위해서는 Schema.ini File 을 참고해주세요.
그렇지않으면 잘못된 사용을 하기 쉽상입니다.
Schema.ini 파일의 작성법에 대해서는 Importing CSV Data and saving it in database 를 참고하세요.
'C#' 카테고리의 다른 글
커서의 위치를 취득하는 방법 (0) | 2013.01.28 |
---|---|
Windows 서비스 응용 프로그램 디버깅 (0) | 2013.01.21 |
서비스 응용 프로그램에 설치 관리자 추가 (0) | 2013.01.21 |
구성 요소 디자이너에서 Windows 서비스 응용 프로그램 만들기 (0) | 2013.01.21 |
System.Windows.Forms.ControlPaint 클래스의 FillReversibleRectangle 메서드를 이용해서 반전 (0) | 2012.12.25 |