Archive for the ‘JDBC’ Category

  1. Hello, JDBC Type4(Rhino) World!

    Posted on 10月 24th, 2012 by cx20

    JDBC Type4

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type4 は DBMS のクライアントライブラリを使用しない Pure Java の DBMS ドライバである。
    以下は Rhino による JDBC ライブラリの使用例となっている。

    ソースコード(Rhino + JDBC Type4 + SQL Server)

    importPackage(java.sql);
    java.lang.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    var conn = DriverManager.getConnection("jdbc:sqlserver://;serverName=localhost", "sa", "P@ssW0rd");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(Rhino + JDBC Type4 + SQL Server)

    C:¥> jrunscript -J-Xbootclasspath/a:sqljdbc4.jar hello.js

    ソースコード(Rhino + JDBC Type4 + Oracle)

    importPackage(java.sql);
    java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
    var conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(Rhino + JDBC Type4 + Oracle)

    C:¥> jrunscript -J-Xbootclasspath/a:ojdbc6.jar hello.js

    ソースコード(Rhino + JDBC Type4 + MySQL)

    importPackage(java.sql);
    java.lang.Class.forName("com.mysql.jdbc.Driver");
    var conn = DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "P@ssW0rd");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(Rhino + JDBC Type4 + MySQL)

    C:¥> jrunscript -J-Xbootclasspath/a:mysql-connector-java-5.1.22-bin.jar hello.js

    実行結果

    Hello, JDBC Type4 World!
  2. Hello, JDBC Type2(Rhino) World!

    Posted on 10月 23rd, 2012 by cx20

    JDBC Type2

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type2 は JDBC と DBMS クライアントの API をマップさせたブリッジドライバである。
    例えば、Oracle であればクライアントライブラリとして OCI が使用される。
    以下は Rhino による JDBC ライブラリの使用例となっている。

    ソースコード(Rhino + JDBC Type2 + Oracle)

    importPackage(java.sql);
    java.lang.Class.forName("oracle.jdbc.driver.OracleDriver");
    var conn = DriverManager.getConnection("jdbc:oracle:oci:@orcl", "scott", "tiger");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type2 World!' AS Message FROM DUAL");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法

    C:¥> jrunscript -J-Xbootclasspath/a:ojdbc6.jar hello.js

    実行結果

    Hello, JDBC Type2 World!
  3. Hello, JDBC Type1(Rhino) World!

    Posted on 10月 22nd, 2012 by cx20

    JDBC Type1

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type1 は JDBC と ODBC の API をマップさせたブリッジドライバである。
    以下は Rhino による JDBC ライブラリの使用例となっている。

    ソースコード(Rhino + JDBC Type1 + ODBC + Jet データベース)

    importPackage(java.sql);
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb", "", "");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    ソースコード(Rhino + JDBC Type1 + ODBC + ACE データベース)

    importPackage(java.sql);
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var conn = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb", "", "");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    ソースコード(Rhino + JDBC Type1 + ODBC + SQL Server)

    importPackage(java.sql);
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var conn = DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    ソースコード(Rhino + JDBC Type1 + ODBC + Oracle)

    importPackage(java.sql);
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var conn = DriverManager.getConnection("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    ソースコード(Rhino + JDBC Type1 + ODBC + MySQL)

    importPackage(java.sql);
    java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    var conn = DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd");
    var stmt = conn.createStatement();
    var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
    while ( rs.next() ) {
         print( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法

    C:¥> jrunscript Hello.js

    実行結果

    Hello, JDBC Type1 World!
  4. Hello, JDBC Type4(Tcl/Java) World!

    Posted on 10月 21st, 2012 by cx20

    JDBC Type4

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type4 は DBMS のクライアントライブラリを使用しない Pure Java の DBMS ドライバである。
    以下は Tcl/Java による JDBC ライブラリの使用例となっている。

    ソースコード(Tcl/Java + JDBC Type4 + SQL Server)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "com.microsoft.sqlserver.jdbc.SQLServerDriver"
    set conn [java::call DriverManager getConnection "jdbc:sqlserver://;serverName=localhost" "sa" "P@ssW0rd"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type4 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    実行方法(Tcl/Java + JDBC Type4 + SQL Server)

    C:¥> SET CLASSPATH=sqljdbc4.jar;%CLASSPATH%
    C:¥> jaclsh Hello.tcl

    ソースコード(Tcl/Java + JDBC Type4 + Oracle)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "oracle.jdbc.driver.OracleDriver"
    set conn [java::call DriverManager getConnection "jdbc:oracle:thin:@localhost:1521:orcl" "scott" "tiger"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    実行方法(Tcl/Java + JDBC Type4 + Oracle)

    C:¥> SET CLASSPATH=ojdbc6.jar;%CLASSPATH%
    C:¥> jaclsh Hello.tcl

    ソースコード(Tcl/Java + JDBC Type4 + MySQL)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "com.mysql.jdbc.Driver"
    set conn [java::call DriverManager getConnection "jdbc:mysql://localhost:3306" "root" "P@ssW0rd"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type4 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    実行方法(Tcl/Java + JDBC Type4 + MySQL)

    C:¥> SET CLASSPATH=mysql-connector-java-5.1.22-bin.jar;%CLASSPAH%
    C:¥> jaclsh Hello.tcl

    実行結果

    Hello, JDBC Type4 World!
  5. Hello, JDBC Type2(Tcl/Java) World!

    Posted on 10月 20th, 2012 by cx20

    JDBC Type2

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type2 は JDBC と DBMS クライアントの API をマップさせたブリッジドライバである。
    例えば、Oracle であればクライアントライブラリとして OCI が使用される。
    以下は Tcl/Java による JDBC ライブラリの使用例となっている。

    ソースコード(Tcl/Java + JDBC Type2 + Oracle)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "oracle.jdbc.driver.OracleDriver"
    set conn [java::call DriverManager getConnection "jdbc:oracle:oci:@orcl" "scott" "tiger"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    実行方法

    C:¥> SET CLASSPATH=ojdbc6.jar;%CLASSPATH%
    C:¥> jaclsh Hello.tcl

    実行結果

    Hello, JDBC Type2 World!
  6. Hello, JDBC Type1(Tcl/Java) World!

    Posted on 10月 19th, 2012 by cx20

    JDBC Type1

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type1 は JDBC と ODBC の API をマップさせたブリッジドライバである。
    以下は Tcl/Java による JDBC ライブラリの使用例となっている。

    ソースコード(Tcl/Java + JDBC Type1 + ODBC + Jet データベース)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "sun.jdbc.odbc.JdbcOdbcDriver"
    set conn [java::call DriverManager getConnection "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb" "" ""]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type1 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    ソースコード(Tcl/Java + JDBC Type1 + ODBC + ACE データベース)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "sun.jdbc.odbc.JdbcOdbcDriver"
    set conn [java::call DriverManager getConnection "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb" "" ""]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type1 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    ソースコード(Tcl/Java + JDBC Type1 + ODBC + SQL Server)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "sun.jdbc.odbc.JdbcOdbcDriver"
    set conn [java::call DriverManager getConnection "jdbc:odbc:Driver={SQL Server};SERVER=(local)" "sa" "P@ssW0rd"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type1 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    ソースコード(Tcl/Java + JDBC Type1 + ODBC + Oracle)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "sun.jdbc.odbc.JdbcOdbcDriver"
    set conn [java::call DriverManager getConnection "jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL" "scott" "tiger"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    ソースコード(Tcl/Java + JDBC Type1 + ODBC + MySQL)

    package require java
    java::import -package java.sql DriverManager
    java::call Class forName "sun.jdbc.odbc.JdbcOdbcDriver"
    set conn [java::call DriverManager getConnection "bc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost" "root" "P@ssW0rd"]
    set stmt [$conn createStatement]
    set rs [$stmt executeQuery "SELECT 'Hello, JDBC Type1 World!' AS Message"]
    while { [$rs next] } {
        puts [$rs {getString int} 1]
    }
    $rs close
    $stmt close
    $conn close

    実行方法

    C:¥> jaclsh Hello.tcl

    実行結果

    Hello, JDBC Type1 World!
  7. Hello, JDBC Type4(BeanShell) World!

    Posted on 10月 18th, 2012 by cx20

    JDBC Type4

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type4 は DBMS のクライアントライブラリを使用しない Pure Java の DBMS ドライバである。
    以下は BeanShell による JDBC ライブラリの使用例となっている。

    ソースコード(BeanShell + JDBC Type4 + SQL Server)

    import java.sql.*;
     
    Class.forName ("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    conn = DriverManager.getConnection("jdbc:sqlserver://;serverName=localhost", "sa", "P@ssW0rd");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message");
    while ( rs.next() ) {
         System.out.println( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(BeanShell + JDBC Type4 + SQL Server)

    C:¥> java -cp "bsh-2.0b4.jar;sqljdbc4.jar;." bsh.Interpreter hello.bsh

    ソースコード(BeanShell + JDBC Type4 + Oracle)

    import java.sql.*;
     
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "tiger");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL");
    while ( rs.next() ) {
         System.out.println( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(BeanShell + JDBC Type4 + Oracle)

    C:¥> java -cp "bsh-2.0b4.jar;ojdbc6.jar;." bsh.Interpreter hello.bsh

    ソースコード(BeanShell + JDBC Type4 + MySQL)

    import java.sql.*;
     
    Class.forName ("com.mysql.jdbc.Driver");
    conn = DriverManager.getConnection("jdbc:mysql://localhost:3306", "root", "P@ssW0rd");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT 'Hello, JDBC Type4 World!' AS Message");
    while ( rs.next() ) {
         System.out.println( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法(BeanShell + JDBC Type4 + MySQL)

    C:¥> java -cp "bsh-2.0b4.jar;mysql-connector-java-5.1.22-bin.jar;." bsh.Interpreter hello.bsh

    実行結果

    Hello, JDBC Type4 World!
  8. Hello, JDBC Type2(BeanShell) World!

    Posted on 10月 17th, 2012 by cx20

    JDBC Type2

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type2 は JDBC と DBMS クライアントの API をマップさせたブリッジドライバである。
    例えば、Oracle であればクライアントライブラリとして OCI が使用される。
    以下は BeanShell による JDBC ライブラリの使用例となっている。

    ソースコード(BeanShell + JDBC Type2 + Oracle)

    import java.sql.*;
     
    Class.forName("oracle.jdbc.driver.OracleDriver");
    conn = DriverManager.getConnection("jdbc:oracle:oci:@orcl", "scott", "tiger");
    stmt = conn.createStatement();
    rs = stmt.executeQuery("SELECT 'Hello, JDBC Type2 World!' AS Message FROM DUAL");
    while ( rs.next() ) {
        System.out.println( rs.getString(1) );
    }
    rs.close();
    stmt.close();
    conn.close();

    実行方法

    C:¥> java -cp "bsh-2.0b4.jar;ojdbc6.jar;." bsh.Interpreter hello.bsh

    実行結果

    Hello, JDBC Type2 World!
  9. Hello, JDBC Type4(Clojure) World!

    Posted on 10月 15th, 2012 by cx20

    JDBC Type4

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type4 は DBMS のクライアントライブラリを使用しない Pure Java の DBMS ドライバである。
    以下は Clojure による JDBC ライブラリの使用例となっている。

    ソースコード(Clojure + JDBC Type4 + SQL Server)

    (import '(java.sql DriverManager))
     
    (class com.microsoft.sqlserver.jdbc.SQLServerDriver)
    (def conn (. DriverManager (getConnection "jdbc:sqlserver://;serverName=localhost" "sa" "P@ssW0rd")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type4 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

    実行方法(Clojure + JDBC Type4 + SQL Server)

    C:¥> SET CLASSPATH=sqljdbc4.jar;%CLASSPATH%
    C:¥> clj Hello.clj

    ソースコード(Clojure + JDBC Type4 + Oracle)

    (import '(java.sql DriverManager))
     
    (class oracle.jdbc.driver.OracleDriver)
    (def conn (. DriverManager (getConnection "jdbc:oracle:thin:@localhost:1521:orcl" "scott" "tiger")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type4 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

    実行方法(Clojure + JDBC Type4 + Oracle)

    C:¥> SET CLASSPATH=ojdbc6.jar;%CLASSPATH%
    C:¥> clj Hello.clj

    ソースコード(Clojure + JDBC Type4 + MySQL)

    (import '(java.sql DriverManager))
     
    (class com.mysql.jdbc.Driver)
    (def conn (. DriverManager (getConnection "jdbc:mysql://localhost:3306" "root" "P@ssW0rd")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type4 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

    実行方法(Clojure + JDBC Type4 + MySQL)

    C:¥> SET CLASSPATH=mysql-connector-java-5.1.22-bin.jar;%CLASSPAH%
    C:¥> clj Hello.clj

    実行結果

    Hello, JDBC Type4 World!
  10. Hello, JDBC Type2(Clojure) World!

    Posted on 10月 14th, 2012 by cx20

    JDBC Type2

    JDBC(Java Database Connectivity)は、Java 用のデータベース接続 API である。実装方法によりType1~4の4つのタイプが存在する。
    Type2 は JDBC と DBMS クライアントの API をマップさせたブリッジドライバである。
    例えば、Oracle であればクライアントライブラリとして OCI が使用される。
    以下は Clojure による JDBC ライブラリの使用例となっている。

    ソースコード(Jython + JDBC Type2 + Oracle)

    (import '(java.sql DriverManager))
     
    (class oracle.jdbc.driver.OracleDriver)
    (def conn (. DriverManager (getConnection "jdbc:oracle:oci:@orcl" "scott" "tiger")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type2 World' AS Message FROM DUAL"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

    実行方法

    C:¥> SET CLASSPATH=ojdbc6.jar;%CLASSPATH%
    C:¥> clj Hello.clj

    実行結果

    Hello, JDBC Type2 World!