우선은, 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 를 참고하세요.

+ Recent posts