scala (2.9.2) で postgres データベースに接続しています。
初めて SELECT を作成すると (IntelliJ の sbt ターミナルで「run」を使用してコードを実行することにより)、うまく機能しますが、sbt シェルで再度「run」を実行すると、次のようなエラーが表示されます。
[error] (run-main) java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/db
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/db
at java.sql.DriverManager.getConnection(DriverManager.java:602)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at SequenceGenerator$.connect(Validator.scala:50)
at SequenceGenerator$.generate(Validator.scala:54)
at Main$.main(Validator.scala:32)
at Main.main(Validator.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
build.sbt ファイルのこの行で、sbt を介して postgres コネクタをインストールしました。
libraryDependencies += "postgresql" % "postgresql" % "9.1-901.jdbc4"
これは、SELECTを作成するための私のコードです:
object SequenceGenerator{
def connect() = {
DriverManager.getConnection("jdbc:postgresql://localhost/db","user", "pass")
}
def generate() = {
val db = connect()
val st = db.createStatement
val res = st.executeQuery("SELECT value from table LIMIT 2")
while( res.next) {
println(res.getString("value"))
}
}
}