Jet Provider나 ODBC Provider를 사용하는 방법
우선은, 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 를 참고하세요.