2009年9月20日日曜日

groovyとSQL Serverで使用領域情報を取得する

groovyとSQL Serverで使用領域情報を取得するには、以下のコードを実行します。


import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:sqlserver://localhost;databaseName=test1",
"sa",
"sa",
"com.microsoft.sqlserver.jdbc.SQLServerDriver")

// 使用領域情報を取得
sql.query("exec sp_spaceused") { rs ->
stmt = rs.getStatement()
while(true){
try
{
rset = stmt.getResultSet()
while(rset.next()){
md = rset.getMetaData();
for(ci=1;ci<=md.getColumnCount();ci++){
println(md.getColumnName(ci) + ":" + rset.getString(ci))
}
}
}
finally
{
try { rset.close() } catch(Exception sqlex){}
}
if( stmt.getMoreResults() == false )break;
}
}


動作環境
Groovy 1.6.3, JDK6 Update14, SQL Server JDBC Driver 2.0,
SQL Server 2008 Express

関連情報
sp_spaceused
http://msdn.microsoft.com/ja-jp/library/ms188776.aspx

実行結果例

database_name:test1
database_size:4.00 MB
unallocated space:1.79 MB
reserved:1240 KB
data:488 KB
index_size:648 KB
unused:104 KB

0 件のコメント:

コメントを投稿