Archive for 4月 16th, 2013
-
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!