2010年3月16日火曜日

CSVとSQL

CSVファイルに対してSQLを発行できるらしい。知らんかった。
サンプルはJScript。

var args = WScript.Arguments;
var fullName = args(0);

var fso = new ActiveXObject("Scripting.FileSystemObject");
var path = fso.GetParentFolderName(fullName);
var basename = fso.GetBaseName(fullName);
var filetype = fso.GetExtensionName(fullName);

var con = new ActiveXObject("ADODB.Connection");
con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"
+ "Data Source=" + path + ";"
+ "Extended Properties=\"text;HDR=YES;FMT=Delimited;\";";
con.Open();

// CSVファイルから、SQLでクエリ
var rs = con.Execute("select * from [" + basename + "#" + filetype + "] where sex = '男' order by Age;");
while (!rs.EOF) {
var id = rs.Fields("ID");
var name = rs.Fields("Name");
var age = rs.Fields("Age");
var address = rs.Fields("Address");
WScript.Echo(id + "," + name + "," + age + "," + address);
rs.MoveNext();
}

rs.Close();
con.Close();

読み込んだファイルは以下の通り
ID,Name,Age,Address,Sex
1,佐藤,30,東京,女
2,鈴木,12,北海道,男
3,高橋,35,兵庫,男
4,田中,28,愛媛,女
5,渡辺,14,愛知,女
6,伊藤,22,佐賀,男

0 件のコメント: