ラベル H2Database の投稿を表示しています。 すべての投稿を表示
ラベル H2Database の投稿を表示しています。 すべての投稿を表示

2010年10月23日土曜日

groovyでH2 Databaseのバージョンを取得する

groovyでH2 Databaseのバージョンを取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select value from INFORMATION_SCHEMA.SETTINGS where name = 'info.VERSION'
"""

// H2 Databaseのバージョンを取得する
sql.eachRow(query){
println("version of h2 database:${it.value}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月22日金曜日

groovyとH2 Databaseで指定したPostgreSQLユーザの所有テーブルへのリンクテーブルを作成する

groovyとH2 Databaseで指定したPostgreSQLユーザの所有テーブルへのリンクテーブルを作成するには、以下のコードを実行します。

import groovy.sql.Sql

jdbcUrlPg = "jdbc:postgresql://localhost:5432/yourdb"
jdbcUserPg = "postgres"
jdbcPasswordPg = "postgres"
jdbcDriverPg = "org.postgresql.Driver"
sql = Sql.newInstance(
jdbcUrlPg,
jdbcUserPg,
jdbcPasswordPg,
jdbcDriverPg)

sql2 = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

tablePrefix = "LT_"
query = """
select tablename
from pg_tables
where tableowner = user
and schemaname = 'public'
"""

// 接続ユーザが所有者でpublic schemaのテーブルへのリンクを作成
sql.eachRow(query){
println("creating...:${tablePrefix}${it.tablename}")
sql2.execute("create linked table " +
tablePrefix + it.tablename + "('" +
jdbcDriverPg + "', '" + jdbcUrlPg +
"', '" + jdbcUserPg + "', '" +
jdbcPasswordPg + "', '" + it.tablename + "')"
)
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月21日木曜日

groovyとH2 DatabaseでDBを作成する

groovyとH2 DatabaseでDBを作成するには、以下のコードを実行します。

import groovy.sql.Sql

// サーバモードでDBを作成
sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/C:/share/mydb",
"sa",
"",
"org.h2.Driver")



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月20日水曜日

groovyとH2 Databaseでキャッシュサイズを取得する

groovyとH2 Databaseでキャッシュサイズを取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

// キャッシュサイズを取得する
query = """
select value
from
information_schema.settings
where
name = 'CACHE_SIZE'
"""

sql.eachRow(query){
println("cache size:${it.value}(KB)")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月19日火曜日

groovyとH2 Databaseでキャッシュサイズを変更する

groovyとH2 Databaseでキャッシュサイズを変更するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

// キャッシュサイズを64Mに変更する
sql.execute("set cache_size 65536")



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月18日月曜日

groovyとH2 Databaseでデフォルトスキーマを変更する

groovyとH2 Databaseでデフォルトスキーマを変更するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

// 現在のデフォルトスキーマを変更する
sql.execute("set schema financial")

query = """
select schema() as default_schema
"""

sql.eachRow(query){
println("default schema:${it.default_schema}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月17日日曜日

groovyとH2 Databaseで現在のデフォルトスキーマを表示する

groovyとH2 Databaseで現在のデフォルトスキーマを表示するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select schema() as default_schema
"""

// 現在のデフォルトスキーマを表示する
sql.eachRow(query){
println("default schema:${it.default_schema}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月16日土曜日

groovyとH2 Databaseでリンクド・テーブルのみをドロップする

groovyとH2 Databaseでリンクド・テーブルのみをドロップするには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select
table_schema,
table_name
from
information_schema.tables
where
table_type = 'TABLE LINK'
order by table_name
"""

// Linked Tableのみをdropする
sql.eachRow(query){
println("drop:${it.table_schema}.${it.table_name}")
sql.execute("drop table " + it.table_schema +
"." + it.table_name);
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月15日金曜日

groovyとH2 Databaseで指定したOracleユーザの所有テーブルへのリンクテーブルを作成する

groovyとH2 Databaseで指定したOracleユーザの所有テーブルへのリンクテーブルを作成するには、以下のコードを実行します。

import groovy.sql.Sql

jdbcUrlOracle = "jdbc:oracle:thin:@oradb1:1521:orcl"
jdbcUserOracle = "scott"
jdbcPasswordOracle = "tiger"
jdbcDriverOracle = "oracle.jdbc.driver.OracleDriver"
sql = Sql.newInstance(
jdbcUrlOracle,
jdbcUserOracle,
jdbcPasswordOracle,
jdbcDriverOracle)

sql2 = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

tablePrefix = "LT_"

// ユーザテーブルへのリンクテーブルを作成する
sql.eachRow("select table_name from user_tables"){
println("creating...:${tablePrefix}${it.table_name}")
sql2.execute("create linked table " +
tablePrefix + it.table_name + "('" +
jdbcDriverOracle + "', '" + jdbcUrlOracle +
"', '" + jdbcUserOracle + "', '" +
jdbcPasswordOracle + "', '" + it.table_name + "')"
)
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18), Oracle11g R2

2010年10月14日木曜日

groovyとH2 Databaseでユーザを管理者に変更する

groovyとH2 Databaseでユーザを管理者に変更するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

userName = "test1"
query = "alter user " + userName + " admin true"

// ユーザを管理者に変更する
sql.execute(query)


動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月13日水曜日

groovyとH2 Databaseで統計情報を取得する

groovyとH2 Databaseで統計情報を取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
ANALYZE SAMPLE_SIZE 20000
"""

// 全てのテーブルの統計を取得する
sql.execute(query)


動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月12日火曜日

groovyとH2 Databaseでクエリーの実行計画を表示する

groovyとH2 Databaseでクエリーの実行計画を表示するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select c1,c2 from test3 where c1 > 5
"""

// クエリーの実行計画を表示する
sql.eachRow("explain plan for " + query){
println("${it.plan}")
}


動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月11日月曜日

groovyとH2 Databaseでデータベースをバックアップする

groovyとH2 Databaseでデータベースをバックアップするには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
backup to 'C:\\share\\h2db\\testdb.zip'
"""

// データベースをバックアップする
sql.execute(query)



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月10日日曜日

groovyとH2 Databaseで現在の接続ユーザを表示する

groovyとH2 Databaseで現在の接続ユーザを表示するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select current_user() as cu
"""

// 現在の接続ユーザを表示する
sql.eachRow(query){
println("current user:${it.cu}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月9日土曜日

groovyとH2 Databaseでリンクド・テーブルを一覧表示する

groovyとH2 Databaseでリンクド・テーブルを一覧表示するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select
table_schema,
table_name
from
information_schema.tables
where
table_type = 'TABLE LINK'
order by table_name
"""

// Linked Tableを一覧表示する
sql.eachRow(query){
println("table_schema:${it.table_schema}")
println("table_name:${it.table_name}")
println("---")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

関連情報
H2 DatabaseでPostgreSQL Database上のテーブルに対するリンクテーブルを作成する
http://serverarekore.blogspot.com/2010/09/h2-databasepostgresql-database.html

2010年10月8日金曜日

groovyとH2 Databaseでデータベース名とデータベースパスを取得する

groovyとH2 Databaseでデータベース名とデータベースパスを取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select database() as dbname,
database_path() as dbpath
"""

// データベース名とデータベースパスを取得する
sql.eachRow(query){
println("database name:${it.dbname}")
println("database path:${it.dbpath}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月7日木曜日

groovyとH2 Databaseでクエリーの結果をCSVファイルに書き込む

groovyとH2 Databaseでクエリーの結果をCSVファイルに書き込むには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
call csvwrite('C:\\share\\h2db\\output.csv',
'select * from testdata', 'MS932');
"""

// クエリーの結果をCSVファイルに書き込む
sql.execute(query)



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月6日水曜日

groovyとH2 DatabaseでCSVファイルを読み込む

groovyとH2 DatabaseでCSVファイルを読み込むには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select *
from
csvread('C:\\share\\h2db\\testdata.csv','COLUMN1,COLUMN2,COLUMN3')
"""

// CSVファイルを読み込む
sql.eachRow(query){
println("column1:${it.column1}")
println("column2:${it.column2}")
println("column3:${it.column3}")
println("---")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月5日火曜日

groovyとH2 Databaseで空きメモリサイズと使用メモリサイズを取得する

groovyとH2 Databaseで空きメモリサイズと使用メモリサイズを取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select memory_free() as free_kb,
memory_used() as used_kb
"""

// 空きメモリサイズと使用メモリサイズを取得する
sql.eachRow(query){
println("Free Memory:${it.free_kb}(KB)")
println("Used Memory:${it.used_kb}(KB)")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)

2010年10月4日月曜日

groovyとH2 DatabaseでセッションIDを取得する

groovyとH2 DatabaseでセッションIDを取得するには、以下のコードを実行します。

import groovy.sql.Sql

sql = Sql.newInstance(
"jdbc:h2:tcp://localhost/~/test",
"sa",
"",
"org.h2.Driver")

query = """
select session_id() as sid
"""

// Session IDを取得する
sql.eachRow(query){
println("session_id:${it.sid}")
}



動作環境
groovy 1.7.4, JDK6 Update 21, H2 Database 1.2.143 (2010-09-18)