Oracle以外のDBからでも簡単にテーブル一覧取得できるんだ
今までDB内のテーブルを一覧取得するのはOracleでsql投げるぐらいしか方法がないと思ってました。
Java の JDBC 関連クラス、メソッドを利用して取得することができます。
ここではOracleデータベースへの接続方法として thin接続 ではなく oci接続 を利用しています。
import groovy.sql.Sql
def props = [
user: "ゆーざめい",
password: "ぱすわーど"
] as Properties
def gsql
try{
gsql = Sql.newInstance(
"jdbc:oracle:oci8:@せっていち"
,props
,"oracle.jdbc.driver.OracleDriver"
)
def conn = gsql.connection
def rs = conn.metaData.getTables(null, props.user, "%", null)
while(rs.next()) {
println rs.getString("TABLE_NAME")
}
} finally {
gsql?.close()
}
これは便利!スクリプト用意しておけば、Oracle以外のプロジェクトでも使える♪いいね。
これでclose処理正しいのかな・・・
ディスカッション
コメント一覧
ちょwこれJDBCさわったらまっさきにやるところでしょう。
まぁテーブル一覧よりカラム一覧のほうが使用頻度は高いですけどね。
>shinさん
お恥ずかしいです。
まだまだjavaも勉強不足ですね…
JDBCまわりもう少しさわり倒します