Oracle11gをJDBCドライバを使ってScalaから操作することに成功しました。
import java.sql.{DriverManager, Connection, Statement, ResultSet,SQLException} object SqlSelect { var jdbcURL = "jdbc:oracle:thin:@192.168.0.15:1521:ORCL" var user ="scott" var passwd ="tiger" def main(args : Array[String]) : Unit = { try { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance() var con = DriverManager.getConnection(jdbcURL,user,passwd) try { var stmt = con.createStatement() var rs = stmt.executeQuery("SELECT * FROM EMP") while (rs.next()){ print(rs.getString("empno") + " ") print(rs.getString("ename") + " ") print(rs.getString("job") + " ") print(rs.getString("mgr") + " ") print(rs.getString("hiredate") + " ") print(rs.getString("deptno") + " ") println(rs.getString("sal")) } stmt.close() } catch { case e:SQLException => println("Database error "+e) case e => { println("Some other exception type:") e.printStackTrace() } } finally { con.close() } } catch { case e:SQLException => println("Database error "+e) case e => { println("Some other exception type:") e.printStackTrace() } } println("End!") } }
JDBCドライバの設定
Oracleデータベースにアクセスするには、Oracle JDBC の ojdbc6.jarファイル と orai18n.jarファイル を EclipseのプロジェクトプロパティのJava Build Pathの外部Jarとして追加します。
実行すると以下のようにデータが出力されます。
369 SMITH CLERK 7902 1980-12-17 00:00:00.0 20 800 7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00.0 30 1600 7521 WARD SALESMAN 7698 1981-02-22 00:00:00.0 30 1250 7566 JONES MANAGER 7839 1981-04-02 00:00:00.0 20 2975 7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00.0 30 1250 7698 BLAKE MANAGER 7839 1981-05-01 00:00:00.0 30 2850 7782 CLARK MANAGER 7839 1981-06-09 00:00:00.0 10 2450 7788 SCOTT ANALYST 7566 1987-04-19 00:00:00.0 20 3000 |
コメントを残す
コメントを投稿するにはログインしてください。