スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

jrubyでPostgreSQLにjdbc接続

以前、jrubyでPostgreSQLへjdbc接続しようとして、うまくいきませんでした。
てっきりバグのまま放置さてているのかと思っていたのですが、どうやらやり方に問題があったようです。
Class.forNameでドライバーを読むのが必要なかったようで、普通にimportすればよかったようです。
むしろ、Class.forNameを呼ぶとクラスがロードできなくてExceptionを投げてきます。
コードは以下の通りです。
日本語テーブル名と日本語カラム名がうまくつかえるかの、実験にもなっています。

# coding:UTF-8
require "java"
import org.postgresql.Driver
import java.sql.DriverManager
import java.lang.System

con = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/test",
"user", "password")

st = con.prepareStatement(
"create table ユーザ (番号 integer, 名前 text, primary key(番号))")
st.executeUpdate()

names = ["予定表", "?", "?", "ハンカク"]
st = con.prepareStatement(
"insert into ユーザ (番号, 名前) values (?, ?)")
i = 0
names.each {|name|
i = i + 1
st.setInt(1, i)
st.setString(2, name)
st.executeUpdate()
}

st = con.prepareStatement(
"select 番号, 名前 from ユーザ order by 番号")
rs = st.executeQuery()
while rs.next()
System.out.println(rs.getInt("番号").to_s + ":" + rs.getString("名前"))
end

st = con.prepareStatement("drop table ユーザ")
st.executeUpdate()

con.close()
スポンサーサイト

Tag : PostgreSQL

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。