Oracle以外のDBからでも簡単にテーブル一覧取得できるんだ

2019-01-22Groovy,Java

今までDB内のテーブルを一覧取得するのはOracleでsql投げるぐらいしか方法がないと思ってました。

JavaJDBC 関連クラス、メソッドを利用して取得することができます。

ここでは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処理正しいのかな・・・

2019-01-22Groovy,Java