scalaのデータベースアクセスライブラリーのscala-dbc.jar を使ってOracleに接続しようと試みております。
しかし、なかなかうまく動いてくれません。(The code doesn’t run.)
ソースを見るとPostgreSQL.scala しかない。
コンパイルはできるコードがこれです。
TypeCheckでエラーが発生しているので、OracleのJDBCドライバとの不整合があるのかもしれません。
結構、OracleのJDBCドライバはいろいろやってますし、Date型の扱いは特殊ですからね。
package SeeDo import scala.dbc._ import scala.dbc.Syntax._ import scala.dbc.syntax.Statement._ class LocalDerby(db: String, val user: String, val pass: String) extends Vendor { def nativeDriverClass = classOf[oracle.jdbc.driver.OracleDriver] def uri = new java.net.URI("jdbc:oracle:"+db) def retainedConnections = 1 def urlProtocolString = "jdbc:oracle:" } object dbcSample { def main(args : Array[String]) : Unit = { val database = new Database(new LocalDerby("thin:@192.168.0.105:1521:ORCL", "scott", "tiger")) val e = database.executeStatement( select fields (("ename" of characterVarying(100)) and ("empno" of integer) and ("deptno" of integer)) from ("emp") ) map {t => new Employee(t("empno").asInstanceOf[Int],t("ename").asInstanceOf[String],null,0,null,t("deptno").asInstanceOf[Int],0)} for(val i <- e ) { print(i.Empno + " " + i.Ename) println } // val sql = select fields ("count(*)" of bigint) from ("emp") val rows = database.executeStatement(sql) for (val r <- rows; val f <- r.fields){ println(f.content.sqlString) } database.close } }
コメントを残す
コメントを投稿するにはログインしてください。