次のページ 前のページ 目次へ

6. JDBC のサポートの設定方法

Linux 上で動作し、JDBC インターフェースもサポートするデータベースは、い くつかあります。これらは——

などです。

DBMS をとりあえず試用したいなら、PostgreSQL を最初に使用しましょう。 ほとんどの主要な Linux ディストリビューションに付属し、たぶん、システム にインストールされ、動作していると思われることが、主な理由です。

6.1 IBM DB2

執筆予定

より多くの情報は、 http://www-4.ibm.com/software/data/db2/linux/ を見てください。

6.2 MiniSQL

執筆予定

より多くの情報は、 http://www.hughes.com.au/ を見てください。

6.3 MySQL

執筆予定

より多くの情報は、 http://www.mysql.org/ を見てください。

6.4 Oracle

執筆予定

より多くの情報は、 http://platforms.oracle.com/linux/ を見てください。

6.5 PostgreSQL

背景

PostgreSQL は、洗練されたオブジェクトデータベースで、サブセレクト、トラ ンザクション、タイプと機能のユーザ定義も含めたすべての SQL 構成をサポー トします。これは、とても進んだオープンソースデータベースでいろいろなとこ ろから入手できます。商用サポートも PostgreSQL, Inc が行っています。現在 のバージョンは 6.5.3 で、たくさんあるミラーサイトのどれからでも、もしく は CD から入手できます。(PostgreSQL ウェブサイトからの引用)

PostgreSQL は、もう、Linux ディストリビューションと一緒に出荷されているかもし れません。それは、PostgreSQL がオープンソースライセンスだからです。

ダウンロードとインストール

PostgreSQL からダウンロードするよりも、たいがい、Linux ディストリビュー ションに付属しているので、始めはその PostgreSQL でやってみましょう。

もう一つの方法として、PostgreSQL は、 http://www.postgresql.org から、入手できます。

コンピュータ上で、PostgreSQL がインストールされているかを確認します。次 のコマンドを実行してください。

rpm -qa | grep postgresql

もしくは——

which postmaster
which psql
としてください。

PostgreSQL を Java と一緒に使うには、postgresql, postgresql-server, およ び postgresql-java のパッケージがインストールされている必要があります。

次のコマンドを実行し、PostgreSQL が実行しているかを確認します。

ps -f -u postgres

PostgreSQL デーモンが実行していれば、postmaster が見えるはずです。

postmaster が実行していないなら、Sys V init スクリプトがたぶんありますの で、これを使って開始できます。ほとんどのディストリビューションでは、それ は、/etc/rc.d/init.d にあります。 次のコマンドで PostgreSQL を開始します。

cd /etc/rc.d/init.d
./postgresql start

PostgreSQL が実行しているか、上記の "ps" コマンドを使って確 認できます。

注意 - JDBC を使うために、UNIX ドメインソケットだけではなく TCP/IP 接続 のサポートを示すパラメータ '-i' をともない、PostgreSQL を開始する必要が あります。パラメータ '-i' をともなって、postmaster が開始されているかを 確認してください。

次のコマンドにより、テストデータベースを作成します。

su - postgres
createdb javatest

エラーメッセージを見ることはないはずです。

一つのテスト列を持つテストの表を作成します。始めに、会話型 PostgreSQL ツー ルへ (postgres ユーザとして) ログインし、javatest データベースに接続し、 次のコマンドにより作成します。

psql javatest

database: javatest に接続された、という確認メッセージが表示されるはずです。

そして、(psql の中で) 次のコマンドにより、テストの表を作成します。

create table test (col1 varchar(255));

"CREATE" の確認メッセージが表示されるはずです。

次に、(psql の中で) 次のコマンドにより、一つの列を挿入します。

insert into test (col1) values ('Hello, from PostgreSQL!');

"INSERT" の確認メッセージが表示されるはずです。

最後に、(psql の中で) 次のコマンドにより、その列があるか確認します。

select col1 from test;  

その列が作成されているのが見えるはずです。

"\ q" により、psql を終了することができます。

PostgreSQL を動作させるための詳しい情報は、 http://metalab.unc.edu/mdw/HOWTO/PostgreSQL-HOWTO.html にある Database-SQL-RDBMS (PostgreSQL Object Relational Database System) HOWTO 文書を参照してください。

CLASSPATH へ適切な JAR を追加する必要があります。PostgreSQL JAR (群) は、 postgresql-jdbc パッケージに付属しています。

export CLASSPATH=$CLASSPATH:/usr/lib/pgsql/jdbc6.5-1.2.jar

PostgreSQL をシステムにインストールした場所により、パスをかえる必要があ るかもしれません。

インストール後の確認

簡単な PostgreSQL を使った JDBC アプリケーションのコンパイルと実行の準備 ができました。下記のプログラムを作成してください。

import java.sql.*;

class PostgreSQLTest {
  public static void main (String[] args) {
    try {
      Driver driver = (Driver)
        Class.forName("postgresql.Driver").newInstance();
      DriverManager.registerDriver(driver);

      String     url = "jdbc:postgresql:javatest"; 
      Connection con = DriverManager.getConnection(url, "postgres",
""); 
      Statement  stm = con.createStatement(); 
 
      stm.setQueryTimeout(10); 
      ResultSet  rs  = stm.executeQuery("select col1 from test"); 
 
      rs.next(); 
 
      System.out.println(rs.getString(1)); 
 
    } catch (SQLException e) { 
 
      System.out.println("Exception!"); 
      System.out.println(e.toString()); 
  } 
} 

Java コンパイラでプログラムをコンパイルしてください。

javac PostgreSQLTest.java  

コンパイラがエラーを出力するなら、構文の確認と PATH および CLASSPATH の 確認を入念にしてください。

JVM でプログラムを実行します。

java PostgreSQLTest  

JVM がエラーを出力するなら、PATH および CLASSPATH を見直してください。

次の出力が得られるはずです。

Hello, from PostgreSQL!  

おめでとう、PostgreSQL への JDBC インターフェースのインストール、環境の 設定、動作確認ができました。

もっと多くの情報

PostgreSQL のもっと多くの情報は、 http://www.blackdown.org にある PostgreSQL ウェブサイトを見てください。

6.6 Sybase

背景

Sybase Adaptive Server Enterprise は、商用 RDBMS で、Linux オペレーティ ングシステム用を入手可能です。Sybase は最新リリースのバージョンが 12.0 なのに、Linux 向けに入手できるバージョンは 11.9.2 です。

Sybase ウェブサイトによれば、"Linux へ ASE を移植することにより、 Sybase は、Linux 開発コミュニティに、そのプラットフォームで入手できるも のの中で一番拡張性が高く、高性能なデータベースエンジンを提供します。パッ ケージは、Adaptive Server Enterprise の標準機能と、関連する接続性のある コンポーネントを含みます。Adaptive Server Enterprise 11.9.2 は、開発用に 無償で提供します。"

ダウンロード

Sybase ASE は、 http://www.sybase.com/products/databaseservers/linux/linux1192_reg.html から、入手できます。

ダウンロードするために、オンラインで、Sybase ウェブサイトへの登録および、 ライセンスへの同意をしなければなりません。

Sybase JDBC ドライバは、 http://www.sybase.com/products/internet/jconnect/ から、入手できます。

jConnect 4.2/5.2 のダウンロードを選んでください。

ネットワーク上で Sybase サーバにアクセスするなら、JDBC ドライバのダウン ロードとインストールだけが必要です。

インストール

Sybase のインストールは、この HOWTO の範囲を超えます。この HOWTO は、 Sybase のインストールと設定が正しくなされ、isql を使用して Sybase が操 作できる状態であることを前提とします。

isql に sa としてログインし、次のコマンドにより、テストユーザを作成し、 データベースをテストします。

create database javatest  
go 
sp_addlogin javatest, javatest, javatest 
go 
use javatest 
go 
sp_dbowner javatest 
go 

エラーメッセージを見ることはないはずです。

一つのテスト列を持つテストの表を作成します。始めに、javatest ユーザとし て isql へログインし、次のコマンドを実行します。

create table test (col1 varchar(255))  
go 

エラーメッセージを見ることはないはずです。

次に、次のコマンドにより、一つの列を挿入します。

insert into test (col1) values ('Hello, from Sybase!')  
go 

エラーメッセージを見ることはないはずです。

最後に、次のコマンドにより、その列があるか確認します。

select col1 from test  
go 

その列が作成されているのが見えるはずです。

"exit" により、isql を終了することができます。

Sybase を動作させるための詳しい情報は、Sybase とともにダウンロードできる 文書を参照してください。

CLASSPATH へ適切な JAR を追加する必要があります。

export CLASSPATH=$CLASSPATH:/usr/local/sybase/jConnect-5_2/classes/jconn2.jar

jConnect をシステムにインストールした場所により、パスをかえる必要があ るかもしれません。

インストール後の確認

簡単な Sybase を使った JDBC アプリケーションのコンパイルと実行の準備 ができました。下記のプログラムを作成してください。

import java.sql.*;  
 
class SybaseTest { 
  public static void main (String[] args) { 
    try { 
      Driver driver = (Driver) 
        Class.forName("com.sybase.jdbc2.jdbc.SybDriver").newInstance(); 
      DriverManager.registerDriver(driver); 
 
      String     host = "127.0.0.1"; 
      String     port = "4100"; 
 
      String     url = "jdbc:sybase:Tds:" + host + ":" + port; 
      Connection con = DriverManager.getConnection(url, "javatest",
"javatest"); 
      Statement  stm = con.createStatement(); 
 
      stm.setQueryTimeout(10); 
      ResultSet  rs  = stm.executeQuery("select col1 from test"); 
 
      rs.next(); 
 
      System.out.println(rs.getString(1)); 
 
    } catch (SQLException e) { 
 
      System.out.println("Exception!"); 
      System.out.println(e.toString()); 
  } 
} 

Sybase のホストとポートの番号を適切にかえる必要があります。 $SYBASE/interfaces と $DSQUERY エントリを確認し、使用するホ ストとポートの番号の値とします。

Java コンパイラでプログラムをコンパイルしてください。

javac SybaseTest.java  

コンパイラがエラーを出力するなら、構文の確認と PATH および CLASSPATH の 確認を入念にしてください。

JVM でプログラムを実行します。

java SybaseTest  

JVM がエラーを出力するなら、PATH および CLASSPATH を見直してください。

次の出力が得られるはずです。

Hello, from Sybase!  

おめでとう、Sybase への JDBC インターフェースのインストール、環境の設定、 動作確認ができました。

もっと多くの情報

より多くの情報は、 http://www.sybase.com/products/internet/jconnect/ にある Sybase jConnect ウェブサイトを見てください。


次のページ 前のページ 目次へ