月曜日, 9月 06, 2010

Rhinoで実行スクリプト

2009/05/18perlfreak.vox.comより転載)

Rhinoはじめ、必要なJARファイルにCLASSPATHはとおっている前提。
Javaが /usr/local/java にインストールされているとして、つぎの内容を例えばsample.jsとして保存し、実行権限をつける。

----- (sample.js ここから) -----
#!/usr/local/java/bin/java org.mozilla.javascript.tools.shell.Main

importPackage( java.lang );
importPackage( java.sql );

var db_host = arguments[0];
var db_name = arguments[1];
var driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
var url = "jdbc:sqlserver://" + db_host + ":1433;DatabaseName=" + db_name;
var user = "user";
var passwd = "passwd";
var sql = "SELECT site_id FROM sites WITH (NOLOCK)";

Class.forName( driver );
var conn = DriverManager.getConnection( url, user, passwd );
var stmt = conn.createStatement();
var rs = stmt.executeQuery(sql);

while ( rs.next() ) {
print( rs.getString( "site_id" ) );
}

conn.close();
----- (sample.js ここまで) -----

そして

$ ./sample.js db_host db_name

のように実行する。
上の例は、MSのJDBCドライバを使ってSQL Serverに問い合わせている。
実行時の引数は、「arguments」という配列で取得可能。
起動はJRubyより速いかも。

以上

0 件のコメント: