Archive for 10月 10th, 2012

  1. 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!