Archive for the ‘JDBC Type1’ Category

  1. Hello, JDBC Type1(Oxygene) World!

    Posted on 4月 16th, 2013 by cx20

    JDBC Type1

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

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

    namespace hello;
     
    interface
    uses
        java.sql.*,
        sun.jdbc.odbc.*;
     
    type
        Hello = class
    public
        class method Main(args: array of String);
    end;
     
    implementation
     
    class method Hello.Main(args: array of String);
    var
        conn: Connection;
        stmt: Statement;
        rs: ResultSet;
    begin
        java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
        conn := DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\\hello.mdb", "", "");
        stmt := conn.createStatement();
        rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
        while rs.next() do begin
            System.out.println( rs.getString(1) );
        end;
        rs.close();
        stmt.Close();
        conn.Close();
    end;
     
    end.

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

    namespace hello;
     
    interface
    uses
        java.sql.*,
        sun.jdbc.odbc.*;
     
    type
        Hello = class
    public
        class method Main(args: array of String);
    end;
     
    implementation
     
    class method Hello.Main(args: array of String);
    var
        conn: Connection;
        stmt: Statement;
        rs: ResultSet;
    begin
        java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
        conn := DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\\hello.accdb", "", "");
        stmt := conn.createStatement();
        rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
        while rs.next() do begin
            System.out.println( rs.getString(1) );
        end;
        rs.close();
        stmt.Close();
        conn.Close();
    end;
     
    end.

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

    namespace hello;
     
    interface
    uses
        java.sql.*,
        sun.jdbc.odbc.*;
     
    type
        Hello = class
    public
        class method Main(args: array of String);
    end;
     
    implementation
     
    class method Hello.Main(args: array of String);
    var
        conn: Connection;
        stmt: Statement;
        rs: ResultSet;
    begin
        java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
        conn := DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd");
        stmt := conn.createStatement();
        rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
        while rs.next() do begin
            System.out.println( rs.getString(1) );
        end;
        rs.close();
        stmt.Close();
        conn.Close();
    end;
     
    end.

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

    namespace hello;
     
    interface
    uses
        java.sql.*,
        sun.jdbc.odbc.*;
     
    type
        Hello = class
    public
        class method Main(args: array of String);
    end;
     
    implementation
     
    class method Hello.Main(args: array of String);
    var
        conn: Connection;
        stmt: Statement;
        rs: ResultSet;
    begin
        java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
        conn := DriverManager.getConnection("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger");
        stmt := conn.createStatement();
        rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL");
        while rs.next() do begin
            System.out.println( rs.getString(1) );
        end;
        rs.close();
        stmt.Close();
        conn.Close();
    end;
     
    end.

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

    namespace hello;
     
    interface
    uses
        java.sql.*,
        sun.jdbc.odbc.*;
     
    type
        Hello = class
    public
        class method Main(args: array of String);
    end;
     
    implementation
     
    class method Hello.Main(args: array of String);
    var
        conn: Connection;
        stmt: Statement;
        rs: ResultSet;
    begin
        java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
     
        conn := DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd");
        stmt := conn.createStatement();
        rs := stmt.executeQuery("SELECT 'Hello, JDBC Type1 World!' AS Message");
        while rs.next() do begin
            System.out.println( rs.getString(1) );
        end;
        rs.close();
        stmt.Close();
        conn.Close();
    end;
     
    end.

    実行方法

    C:¥> oxygene Hello.pas -mode:Java
    C:¥> java -jar hello.jar

    実行結果

    Hello, JDBC Type1 World!
  2. Hello, JDBC Type1(Jasmin) World!

    Posted on 10月 28th, 2012 by cx20

    JDBC Type1

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

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

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Tue Oct 16 02:25:36 JST 2012
     
    .bytecode 50.0
    .source Hello.java
    .class  Hello
    .super java/lang/Object
     
    .method  <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 4
           0: aload_0
           1: invokespecial java/lang/Object/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 4
        .var 0 is arg0 [Ljava/lang/String; from Label2 to Label3
     
        Label2:
    .line 7
           0: ldc "sun.jdbc.odbc.JdbcOdbcDriver"
           2: invokestatic java/lang/Class/forName(Ljava/lang/String;)Ljava/lang/Class;
           5: pop
     
        .line 9
           6: ldc "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb"
           8: ldc ""
          10: ldc ""
          12: invokestatic java/sql/DriverManager/getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
          15: astore_1
     
        .line 10
          16: aload_1
          17: invokeinterface java/sql/Connection/createStatement()Ljava/sql/Statement; 1
          22: astore_2
     
        .line 11
          23: aload_2
          24: ldc "SELECT 'Hello, JDBC Type1 World!' AS Message"
          26: invokeinterface java/sql/Statement/executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet; 2
          31: astore_3
     
        Label1:
    .line 12
          32: aload_3
          33: invokeinterface java/sql/ResultSet/next()Z 1
          38: ifeq Label0
     
        .line 13
          41: getstatic java.lang.System.out Ljava/io/PrintStream;
          44: aload_3
          45: iconst_1
          46: invokeinterface java/sql/ResultSet/getString(I)Ljava/lang/String; 2
          51: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
          54: goto Label1
     
        Label0:
    .line 15
          57: aload_3
          58: invokeinterface java/sql/ResultSet/close()V 1
     
        .line 16
          63: aload_2
          64: invokeinterface java/sql/Statement/close()V 1
     
        .line 17
          69: aload_1
          70: invokeinterface java/sql/Connection/close()V 1
     
        Label3:
    .line 18
          75: return
     
        .throws java/lang/Exception
    .end method

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

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Tue Oct 16 02:25:49 JST 2012
     
    .bytecode 50.0
    .source Hello.java
    .class  Hello
    .super java/lang/Object
     
    .method  <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 4
           0: aload_0
           1: invokespecial java/lang/Object/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 4
        .var 0 is arg0 [Ljava/lang/String; from Label2 to Label3
     
        Label2:
    .line 7
           0: ldc "sun.jdbc.odbc.JdbcOdbcDriver"
           2: invokestatic java/lang/Class/forName(Ljava/lang/String;)Ljava/lang/Class;
           5: pop
     
        .line 11
           6: ldc "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb"
           8: ldc ""
          10: ldc ""
          12: invokestatic java/sql/DriverManager/getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
          15: astore_1
     
        .line 13
          16: aload_1
          17: invokeinterface java/sql/Connection/createStatement()Ljava/sql/Statement; 1
          22: astore_2
     
        .line 14
          23: aload_2
          24: ldc "SELECT 'Hello, JDBC Type1 World!' AS Message"
          26: invokeinterface java/sql/Statement/executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet; 2
          31: astore_3
     
        Label1:
    .line 15
          32: aload_3
          33: invokeinterface java/sql/ResultSet/next()Z 1
          38: ifeq Label0
     
        .line 16
          41: getstatic java.lang.System.out Ljava/io/PrintStream;
          44: aload_3
          45: iconst_1
          46: invokeinterface java/sql/ResultSet/getString(I)Ljava/lang/String; 2
          51: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
          54: goto Label1
     
        Label0:
    .line 18
          57: aload_3
          58: invokeinterface java/sql/ResultSet/close()V 1
     
        .line 19
          63: aload_2
          64: invokeinterface java/sql/Statement/close()V 1
     
        .line 20
          69: aload_1
          70: invokeinterface java/sql/Connection/close()V 1
     
        Label3:
    .line 21
          75: return
     
        .throws java/lang/Exception
    .end method

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

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Tue Oct 16 02:08:35 JST 2012
     
    .bytecode 50.0
    .source Hello.java
    .class  Hello
    .super java/lang/Object
     
    .method  <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 4
           0: aload_0
           1: invokespecial java/lang/Object/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 4
        .var 0 is arg0 [Ljava/lang/String; from Label2 to Label3
     
        Label2:
    .line 8
           0: ldc "sun.jdbc.odbc.JdbcOdbcDriver"
           2: invokestatic java/lang/Class/forName(Ljava/lang/String;)Ljava/lang/Class;
           5: pop
     
        .line 11
           6: ldc "jdbc:odbc:Driver={SQL Server};SERVER=(local)"
           8: ldc "sa"
          10: ldc "P@ssW0rd"
          12: invokestatic java/sql/DriverManager/getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
          15: astore_1
     
        .line 13
          16: aload_1
          17: invokeinterface java/sql/Connection/createStatement()Ljava/sql/Statement; 1
          22: astore_2
     
        .line 14
          23: aload_2
          24: ldc "SELECT 'Hello, JDBC Type1 World!' AS Message"
          26: invokeinterface java/sql/Statement/executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet; 2
          31: astore_3
     
        Label1:
    .line 15
          32: aload_3
          33: invokeinterface java/sql/ResultSet/next()Z 1
          38: ifeq Label0
     
        .line 16
          41: getstatic java.lang.System.out Ljava/io/PrintStream;
          44: aload_3
          45: iconst_1
          46: invokeinterface java/sql/ResultSet/getString(I)Ljava/lang/String; 2
          51: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
          54: goto Label1
     
        Label0:
    .line 18
          57: aload_3
          58: invokeinterface java/sql/ResultSet/close()V 1
     
        .line 19
          63: aload_2
          64: invokeinterface java/sql/Statement/close()V 1
     
        .line 20
          69: aload_1
          70: invokeinterface java/sql/Connection/close()V 1
     
        Label3:
    .line 21
          75: return
     
        .throws java/lang/Exception
    .end method

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

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Tue Oct 16 02:41:22 JST 2012
     
    .bytecode 50.0
    .source Hello.java
    .class  Hello
    .super java/lang/Object
     
    .method  <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 4
           0: aload_0
           1: invokespecial java/lang/Object/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 4
        .var 0 is arg0 [Ljava/lang/String; from Label2 to Label3
     
        Label2:
    .line 7
           0: ldc "sun.jdbc.odbc.JdbcOdbcDriver"
           2: invokestatic java/lang/Class/forName(Ljava/lang/String;)Ljava/lang/Class;
           5: pop
     
        .line 8
           6: ldc "jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL"
           8: ldc "scott"
          10: ldc "tiger"
          12: invokestatic java/sql/DriverManager/getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
          15: astore_1
     
        .line 9
          16: aload_1
          17: invokeinterface java/sql/Connection/createStatement()Ljava/sql/Statement; 1
          22: astore_2
     
        .line 10
          23: aload_2
          24: ldc "SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL"
          26: invokeinterface java/sql/Statement/executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet; 2
          31: astore_3
     
        Label1:
    .line 11
          32: aload_3
          33: invokeinterface java/sql/ResultSet/next()Z 1
          38: ifeq Label0
     
        .line 12
          41: getstatic java.lang.System.out Ljava/io/PrintStream;
          44: aload_3
          45: iconst_1
          46: invokeinterface java/sql/ResultSet/getString(I)Ljava/lang/String; 2
          51: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
          54: goto Label1
     
        Label0:
    .line 14
          57: aload_3
          58: invokeinterface java/sql/ResultSet/close()V 1
     
        .line 15
          63: aload_2
          64: invokeinterface java/sql/Statement/close()V 1
     
        .line 16
          69: aload_1
          70: invokeinterface java/sql/Connection/close()V 1
     
        Label3:
    .line 17
          75: return
     
        .throws java/lang/Exception
    .end method

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

    ; Produced by NeoJasminVisitor (tinapoc)
    ; http://tinapoc.sourceforge.net
    ; The original JasminVisitor is part of the BCEL
    ; http://jakarta.apache.org/bcel/
    ; Tue Oct 16 02:26:06 JST 2012
     
    .bytecode 50.0
    .source Hello.java
    .class  Hello
    .super java/lang/Object
     
    .method  <init>()V
        .limit stack 1
        .limit locals 1
        .var 0 is this LHello; from Label0 to Label1
     
        Label0:
    .line 4
           0: aload_0
           1: invokespecial java/lang/Object/<init>()V
     
        Label1:
           4: return
     
    .end method
     
    .method public static main([Ljava/lang/String;)V
        .limit stack 3
        .limit locals 4
        .var 0 is arg0 [Ljava/lang/String; from Label2 to Label3
     
        Label2:
    .line 7
           0: ldc "sun.jdbc.odbc.JdbcOdbcDriver"
           2: invokestatic java/lang/Class/forName(Ljava/lang/String;)Ljava/lang/Class;
           5: pop
     
        .line 8
           6: ldc "jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost"
           8: ldc "root"
          10: ldc "P@ssW0rd"
          12: invokestatic java/sql/DriverManager/getConnection(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
          15: astore_1
     
        .line 9
          16: aload_1
          17: invokeinterface java/sql/Connection/createStatement()Ljava/sql/Statement; 1
          22: astore_2
     
        .line 10
          23: aload_2
          24: ldc "SELECT 'Hello, JDBC Type1 World!' AS Message"
          26: invokeinterface java/sql/Statement/executeQuery(Ljava/lang/String;)Ljava/sql/ResultSet; 2
          31: astore_3
     
        Label1:
    .line 11
          32: aload_3
          33: invokeinterface java/sql/ResultSet/next()Z 1
          38: ifeq Label0
     
        .line 12
          41: getstatic java.lang.System.out Ljava/io/PrintStream;
          44: aload_3
          45: iconst_1
          46: invokeinterface java/sql/ResultSet/getString(I)Ljava/lang/String; 2
          51: invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V
          54: goto Label1
     
        Label0:
    .line 14
          57: aload_3
          58: invokeinterface java/sql/ResultSet/close()V 1
     
        .line 15
          63: aload_2
          64: invokeinterface java/sql/Statement/close()V 1
     
        .line 16
          69: aload_1
          70: invokeinterface java/sql/Connection/close()V 1
     
        Label3:
    .line 17
          75: return
     
        .throws java/lang/Exception
    .end method

    実行方法

    C:¥> java -jar jasmin.jar Hello.j
    C:¥> java -jar Hello

    実行結果

    Hello, JDBC Type1 World!
  3. Hello, JDBC Type1(Fantom) World!

    Posted on 10月 25th, 2012 by cx20

    JDBC Type1

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

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

    using sql
     
    class Hello
    {
        static Void main()
        {
            db := SqlConn.open("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb", "", "")
            stmt := db.sql("SELECT 'Hello, JDBC Type1 World!' AS Message").query
            stmt.each |Obj row|
            {
                echo(row->Message)
            }
        }
    }

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

    using sql
     
    class Hello
    {
        static Void main()
        {
            db := SqlConn.open("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb", "", "")
            stmt := db.sql("SELECT 'Hello, JDBC Type1 World!' AS Message").query
            stmt.each |Obj row|
            {
                echo(row->Message)
            }
        }
    }

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

    using sql
     
    class Hello
    {
        static Void main()
        {
            db := SqlConn.open("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd")
            stmt := db.sql("SELECT 'Hello, JDBC Type1 World!' AS Message").query
            stmt.each |Obj row|
            {
                echo(row->Message)
            }
        }
    }

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

    using sql
     
    class Hello
    {
        static Void main()
        {
            db := SqlConn.open("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger")
            stmt := db.sql("SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL").query
            stmt.each |Obj row|
            {
                echo(row->Message)
            }
        }
    }

    実行方法

    C:¥> fan Hello.fan

    実行結果

    Hello, JDBC Type1 World!
  4. 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!
  5. 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!
  6. Hello, JDBC Type1(Clojure) World!

    Posted on 10月 13th, 2012 by cx20

    JDBC Type1

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

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

    (import '(java.sql DriverManager))
     
    (class sun.jdbc.odbc.JdbcOdbcDriver)
    (def conn (. DriverManager (getConnection "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type1 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

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

    (import '(java.sql DriverManager))
     
    (class sun.jdbc.odbc.JdbcOdbcDriver)
    (def conn (. DriverManager (getConnection "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type1 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

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

    (import '(java.sql DriverManager))
     
    (class sun.jdbc.odbc.JdbcOdbcDriver)
    (def conn (. DriverManager (getConnection "jdbc:odbc:Driver={SQL Server};SERVER=(local)" "sa" "P@ssW0rd")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type1 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

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

    (import '(java.sql DriverManager))
     
    (class sun.jdbc.odbc.JdbcOdbcDriver)
    (def conn (. DriverManager (getConnection "jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL" "scott" "tiger")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type1 World' AS Message FROM DUAL"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

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

    (import '(java.sql DriverManager))
     
    (class sun.jdbc.odbc.JdbcOdbcDriver)
    (def conn (. DriverManager (getConnection "jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost" "root" "P@ssW0rd")))
    (def stmt (.createStatement conn))
    (def rs (.executeQuery stmt "SELECT 'Hello, JDBC Type1 World' AS Message"))
    (if (.next rs)
        (do
            (println (.getString rs 1))
        )
    )
     
    (.close rs)
    (.close stmt)
    (.close conn)

    実行方法

    C:¥> clj Hello.clj

    実行結果

    Hello, JDBC Type1 World!
  7. Hello, JDBC Type1(Jython) World!

    Posted on 10月 10th, 2012 by cx20

    JDBC Type1

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

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

    from com.ziclix.python.sql import zxJDBC
     
    conn = zxJDBC.connect("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb", "", "", "sun.jdbc.odbc.JdbcOdbcDriver")
    cur = conn.cursor()
    cur.execute("SELECT 'Hello, JDBC Type1 World!' AS Message")
    rows = cur.fetchall()
     
    for row in rows:
        print row[0]
     
    conn.commit()
    cur.close()
    conn.close()

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

    from com.ziclix.python.sql import zxJDBC
     
    conn = zxJDBC.connect("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb", "", "", "sun.jdbc.odbc.JdbcOdbcDriver")
    cur = conn.cursor()
    cur.execute("SELECT 'Hello, JDBC Type1 World!' AS Message")
    rows = cur.fetchall()
     
    for row in rows:
        print row[0]
     
    conn.commit()
    cur.close()
    conn.close()

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

    from com.ziclix.python.sql import zxJDBC
     
    conn = zxJDBC.connect("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd", "sun.jdbc.odbc.JdbcOdbcDriver")
    cur = conn.cursor()
    cur.execute("SELECT 'Hello, JDBC Type1 World!' AS Message")
    rows = cur.fetchall()
     
    for row in rows:
        print row[0]
     
    conn.commit()
    cur.close()
    conn.close()

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

    from com.ziclix.python.sql import zxJDBC
     
    conn = zxJDBC.connect("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd", "sun.jdbc.odbc.JdbcOdbcDriver")
    cur = conn.cursor()
    cur.execute("SELECT 'Hello, JDBC Type1 World!' AS Message")
    rows = cur.fetchall()
     
    for row in rows:
        print row[0]
     
    conn.commit()
    cur.close()
    conn.close()

    実行方法

    C:¥> jython -C utf-8 Hello.py

    実行結果

    Hello, JDBC Type1 World!
  8. Hello, JDBC Type4(JRuby) World!

    Posted on 10月 9th, 2012 by cx20

    JDBC Type4

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

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

    require 'rubygems'
    require 'java'
    require 'sqljdbc4.jar'
     
    Java::com.microsoft.sqlserver.jdbc.SQLServerDriver
    conn = java.sql.DriverManager.get_connection("jdbc:sqlserver://;serverName=localhost", "sa", "P@ssW0rd")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type4 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
    require 'ojdbc6.jar'
     
    Java::oracle.jdbc.driver.OracleDriver
    conn = java.sql.DriverManager.get_connection("jdbc:oracle:thin:@localhost:1521:ORCL", "scott", "tiger")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type4 World!' AS Message FROM DUAL")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
    require 'mysql-connector-java-5.1.22-bin.jar'
     
    Java::com.mysql.jdbc.Driver
    conn = java.sql.DriverManager.get_connection("jdbc:mysql://localhost:3306", "root", "P@ssW0rd")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type4 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

    実行方法

    C:¥> jruby Hello.rb

    実行結果

    Hello, JDBC Type4 World!
  9. Hello, JDBC Type1(JRuby) World!

    Posted on 10月 7th, 2012 by cx20

    JDBC Type1

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

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

    require 'rubygems'
    require 'java'
     
    Java::sun.jdbc.odbc.JdbcOdbcDriver
    conn = java.sql.DriverManager.get_connection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb", "", "")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type1 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
     
    Java::sun.jdbc.odbc.JdbcOdbcDriver
    conn = java.sql.DriverManager.get_connection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb", "", "")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type1 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
     
    Java::sun.jdbc.odbc.JdbcOdbcDriver
    conn = java.sql.DriverManager.get_connection("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type1 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
     
    Java::sun.jdbc.odbc.JdbcOdbcDriver
    conn = java.sql.DriverManager.get_connection("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type1 World!' AS Message FROM DUAL")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

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

    require 'rubygems'
    require 'java'
     
    Java::sun.jdbc.odbc.JdbcOdbcDriver
    conn = java.sql.DriverManager.get_connection("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd")
    stmt = conn.create_statement
     
    rs = stmt.execute_query("SELECT 'Hello, JDBC Type1 World!' AS Message")
     
    while (rs.next) do
      puts rs.getString(1)
    end
     
    rs.close
    stmt.close
    conn.close

    実行方法

    C:¥> jruby Hello.rb

    実行結果

    Hello, JDBC Type1 World!
  10. Hello, JDBC Type1(Scala) World!

    Posted on 10月 4th, 2012 by cx20

    JDBC Type1

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

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

    import java.sql.DriverManager
     
    object Hello {
        def main(args : Array[String]) {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            var con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=.\hello.mdb", "", "");
            var stmt = con.createStatement()
            var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World' AS Message")
            while (rs.next()){
                println(rs.getString(1))
            }
            rs.close()
            stmt.close()
            con.close()
        }
    }

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

    import java.sql.DriverManager
     
    object Hello {
        def main(args : Array[String]) {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            var con = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb", "", "");
            var stmt = con.createStatement()
            var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World' AS Message")
            while (rs.next()){
                println(rs.getString(1))
            }
            rs.close()
            stmt.close()
            con.close()
        }
    }

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

    import java.sql.DriverManager
     
    object Hello {
        def main(args : Array[String]) {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            var con = DriverManager.getConnection("jdbc:odbc:Driver={SQL Server};SERVER=(local)", "sa", "P@ssW0rd");
            var stmt = con.createStatement()
            var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World' AS Message")
            while (rs.next()){
                println(rs.getString(1))
            }
            rs.close()
            stmt.close()
            con.close()
        }
    }

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

    import java.sql.DriverManager
     
    object Hello {
        def main(args : Array[String]) {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            var con = DriverManager.getConnection("jdbc:odbc:Driver={Oracle in OraDb11g_home1};DBQ=ORCL", "scott", "tiger");
            var stmt = con.createStatement()
            var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World' AS Message FROM DUAL")
            while (rs.next()){
                println(rs.getString(1))
            }
            rs.close()
            stmt.close()
            con.close()
        }
    }

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

    import java.sql.DriverManager
     
    object Hello {
        def main(args : Array[String]) {
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver").newInstance();
            var con = DriverManager.getConnection("jdbc:odbc:Driver={MySQL ODBC 5.1 Driver};Server=localhost", "root", "P@ssW0rd");
            var stmt = con.createStatement()
            var rs = stmt.executeQuery("SELECT 'Hello, JDBC Type1 World' AS Message")
            while (rs.next()){
                println(rs.getString(1))
            }
            rs.close()
            stmt.close()
            con.close()
        }
    }

    実行方法

    C:¥> scala Hello.scala

    実行結果

    Hello, JDBC Type1 World!