Hitachi

Hitachi Microservices Platform - Paxos Commit Transaction Orchestrator ユーザーズガイド


6.3.4 PctoConnectionクラス

説明

データベースとの接続(セッション)を表現するクラスです。接続のコンテキスト内でSQL文が実行され結果が返されます。Connectionオブジェクト中のデータベースは、表、サポートしているSQL文法、ストアド・プロシージャ、およびこの接続の能力などについての情報を提供します。

メソッド

PctoConnectionクラスのメソッドの一覧を次の表に示します。

表6‒11 PctoConnectionクラスのメソッドの一覧

メソッド

説明

close()

自動的な解除を待たないで、すぐにこのConnectionオブジェクトのデータベースとJDBCリソースを解除します。

createArrayOf(java.lang.String typeName, java.lang.Object[] elements)

java.sql.Arrayオブジェクトを生成するファクトリ・メソッドです。

createSQLXML()

SQLXMLインタフェースを実装しているオブジェクトを構築します。

createStatement()

SQL文をデータベースに送るためのStatementオブジェクトを生成します。

createStatement(int resultSetType, int resultSetConcurrency)

指定された型と並行処理でResultSetオブジェクトを生成するStatementオブジェクトを生成します。

getMetaData()

このConnectionオブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaDataオブジェクトを取得します。

prepareCall(java.lang.String sql)

データベースのストアド・プロシージャを呼び出すためのCallableStatementオブジェクトを生成します。

prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)

指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。

prepareStatement(java.lang.String sql)

パラメタ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。

prepareStatement(java.lang.String sql, int autoGeneratedKeys)

自動生成キーを取得する機能を持つデフォルトのPreparedStatementオブジェクトを生成します。

prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)

指定された型と並行処理でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。

prepareStatement(java.lang.String sql, java.lang.String[] columnNames)

指定された配列によって、指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。

setTransactionIsolation(int level)

このConnectionオブジェクトのトランザクション遮断レベルを変更します。

パッケージ名称
jp.co.Hitachi.soft.hmppcto.jdbc.client
〈この項の構成〉

(1) close()

説明

自動的な解除を待たないで、すぐにこのConnectionオブジェクトのデータベースとJDBCリソースを解除します。

形式
public void close()
引数

なし。

戻り値

なし。

例外

なし。

(2) createArrayOf(java.lang.String typeName, java.lang.Object[] elements)

説明

java.sql.Arrayオブジェクトを生成するファクトリ・メソッドです。ParticipantのJDBC Driverは、Object配列の要素を、Objectを指定したクラスについてjava.sql.Typesで定義されたデフォルトのJDBC SQL型にマッピングします。

形式
public java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException
引数
java.lang.String typeName:

配列の要素がマッピングされる型のSQL名を指定します。typeNameは、データベース固有の名前であり、組み込み型、ユーザ定義型、またはこのデータベースでサポートされる標準SQL型の名前のことです。

java.lang.Object[] elements:

返されるオブジェクトを生成する要素を指定します。Objectに指定できるクラスは、プリミティブデータ型に対応する参照型、プリミティブデータ型のラッパークラスのインスタンス、またはHMP-PCTOが提供するクラスのインスタンスです。それ以外が指定された場合は、例外を送出します。

戻り値

指定されたSQL型に、要素がマッピングされるjava.sql.Arrayオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • JDBC型がtypeNameに適していなくて、かつ変換がサポートされていない場合

  • 引数typeNameがnullの場合

  • メソッドがクローズされたあとに接続された場合

java.sql.SQLFeatureNotSupportedException:

ParticipantのJDBC Driverがこのデータ型をサポートしない場合に送出します。

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(3) createSQLXML()

説明

SQLXMLインタフェースを実装しているオブジェクトを構築します。返されるオブジェクトには、初期状態のときはデータが格納されていません。データをSQLXMLオブジェクトに追加する場合は、SQLXMLインタフェースのsetStringメソッドを使用します。

形式
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
引数

なし。

戻り値

SQLXMLインタフェースを実装しているオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • SQLXMLインタフェースを実装するオブジェクトを構築できなかった場合

  • このメソッドがクローズされた接続に対して呼び出された場合

java.sql.SQLFeatureNotSupportedException:

ParticipantのJDBC Driverがこのデータ型をサポートしない場合に送出します。

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(4) createStatement()

説明

SQL文をデータベースに送るためのStatementオブジェクトを生成します。パラメタなしのSQL文は、通常Statementオブジェクトを使用して実行されます。同じSQL文が多数回実行される場合は、PreparedStatementオブジェクトを使用する方が効率的なことがあります。

形式
public java.sql.Statement createStatement() throws java.sql.SQLException
引数

なし。

戻り値
java.sql.Statement:

新しいStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(5) createStatement(int resultSetType, int resultSetConcurrency)

説明

指定された型と並行処理でResultSetオブジェクトを生成するStatementオブジェクトを生成します。このメソッドは、デフォルトの結果セットの型および並行処理をオーバーライドできます。

形式
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
引数
int resultSetType:

結果セットの型を指定します。指定できる結果セットの型は、ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つです。

int resultSetConcurrency:

並行処理の種類を指定します。指定できる並行処理の種類は、ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLEのどちらかです。

戻り値

指定された型および並行処理でResultSetオブジェクトを生成する新しいStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

  • 指定されたパラメタが、型および並行処理を示すResultSet定数ではない場合

java.sql.SQLFeatureNotSupportedException:

次の場合に例外を送出します。

  • ParticipantのJDBC Driverがこのメソッドをサポートしない場合

  • このメソッドが、指定された結果セットの型と結果セットの並行処理でサポートされない場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(6) getMetaData()

説明

このConnectionオブジェクトが接続を表すデータベースに関するメタデータを格納するDatabaseMetaDataオブジェクトを取得します。メタデータには、データベースの表、サポートしているSQL文の文法、ストアド・プロシージャ、および接続設定などの情報が含まれています。

形式
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
引数

なし。

戻り値

このConnectionオブジェクトのDatabaseMetaDataオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(7) prepareCall(java.lang.String sql)

説明

データベースのストアド・プロシージャを呼び出すためのCallableStatementオブジェクトを生成します。CallableStatementオブジェクトは、そのINとOUTパラメタを設定するメソッドと、ストアド・プロシージャの呼び出しを実行するメソッドを提供します。このメソッドは、ストアド・プロシージャ呼び出し文を処理するために最適化されています。

形式
public java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException
引数
java.lang.String sql:

1つ以上の'?'パラメタ・プレースホルダーを含めることができるSQL文を指定します。

戻り値

プリコンパイルされたSQL文を含む新しいデフォルトのCallableStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(8) prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)

説明

指定された型と並行処理でResultSetオブジェクトを生成するCallableStatementオブジェクトを生成します。このメソッドは、デフォルトの結果セットの型と並行処理をオーバーライドできます。

形式
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
引数
java.lang.String sql:

データベースに送るSQL文が記述されたjava.lang.Stringオブジェクトを指定します。1つ以上の'?'パラメタを含めることができます。

Int resultSetType:

結果セットの型を指定します。指定できる結果セットの型は、ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つです。

int resultSetConcurrency:

並行処理の種類を指定します。指定できる並行処理の種類は、ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLEのどちらかです。

戻り値

指定された型および並行処理でResultSetオブジェクトを生成する、プリコンパイルされたSQL文を含む新しいCallableStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

  • 指定されたパラメタが型および並行処理を示すResultSet定数ではない場合

java.sql.SQLFeatureNotSupportedException:

次の場合に例外を送出します。

  • ParticipantのJDBC Driverがこのメソッドをサポートしない場合

  • このメソッドが指定された結果セットの型と結果セットの並行処理でサポートされない場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(9) prepareStatement(java.lang.String sql)

説明

パラメタ付きSQL文をデータベースに送るためのPreparedStatementオブジェクトを生成します。INパラメタ付きまたはINパラメタなしのSQL文は、プリコンパイルして、PreparedStatementオブジェクトに格納できます。その後、このオブジェクトは、この文を複数回効率的に実行するために使用できます。このメソッドは、プリコンパイルが効果のある、パラメタ付きSQL文を処理するために最適化されています。ParticipantのJDBC Driverが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、その文をプリコンパイル用としてデータベースに送ります。

形式
public java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
引数
java.lang.String sql:

1つ以上の'?'INパラメタ・プレースホルダーを含めることができるSQL文を指定します。

戻り値
java.sql.PreparedStatement:

プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(10) prepareStatement(java.lang.String sql, int autoGeneratedKeys)

説明

自動生成キーを取得する機能を持つデフォルトのPreparedStatementオブジェクトを生成します。指定された定数によって、JDBC Driverが自動生成キーを取得可能にするかどうかが指定されます。SQL文がINSERT文以外の場合、または自動生成キーを返すことができるSQL文以外の場合、このパラメタは無視されます。このメソッドは、プリコンパイルが効果的となるパラメタ付きSQL文を処理するために最適化されています。ParticipantのJDBC Driverがプリコンパイルをサポートしている場合、prepareStatementメソッドは、そのSQL文をプリコンパイル用としてデータベースに送ります。

形式
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
引数
java.lang.String sql:

1つ以上の'?'INパラメタ・プレースホルダーを含めることができるSQL文を指定します。

int autoGeneratedKeys:

自動生成キーを返すかどうかを示すフラグを指定します。Statement.RETURN_GENERATED_KEYSまたはStatement.NO_GENERATED_KEYSのどちらかを指定します。

戻り値

自動生成キーを返す機能を持つ、プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

  • 指定されたパラメタが、自動生成キーを返すかどうかを示すStatement定数ではない場合

java.sql.SQLFeatureNotSupportedException:

ParticipantのJDBC Driverが、定数Statement.RETURN_GENERATED_KEYSを指定したこのメソッドをサポートしない場合に送出します。

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(11) prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)

説明

指定された型と並行処理でResultSetオブジェクトを生成するPreparedStatementオブジェクトを生成します。このメソッドは、デフォルトの結果セットの型と並行処理をオーバーライドできます。

形式
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
引数
java.lang.String sql:

データベースに送るSQL文が記述されたjava.lang.Stringオブジェクトを指定します。1つ以上の'?'INパラメタを含めることができます。

int resultSetType:

結果セットの型を指定します。指定できる結果セットの型は、ResultSet.TYPE_FORWARD_ONLY、ResultSet.TYPE_SCROLL_INSENSITIVE、またはResultSet.TYPE_SCROLL_SENSITIVEのうちの1つです。

int resultSetConcurrency:

並行処理の種類を指定します。指定できる並行処理の種類は、ResultSet.CONCUR_READ_ONLYまたはResultSet.CONCUR_UPDATABLEのどちらかです。

戻り値

指定された型および並行処理でResultSetオブジェクトを生成する、プリコンパイルされたSQL文を含む新しいPreparedStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

  • 指定されたパラメタが、型および並行処理を示すResultSet定数ではない場合

java.sql.SQLFeatureNotSupportedException:

次の場合に例外を送出します。

  • ParticipantのJDBC Driverがこのメソッドをサポートしない場合

  • このメソッドが、指定された結果セットの型と結果セットの並行処理でサポートされない場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(12) prepareStatement(java.lang.String sql, java.lang.String[] columnNames)

説明

指定された配列によって、指定された自動生成キーを返す機能を持つデフォルトのPreparedStatementオブジェクトを生成します。この配列には、返される自動生成キーを含むターゲット表の列の名前を含みます。SQL文がINSERT文以外の場合、または自動生成キーを返すことができるSQL文以外の場合、JDBC Driverはこの配列を無視します。

INパラメタ付きまたはINパラメタなしのSQL文をプリコンパイルして、PreparedStatementオブジェクトに格納できます。そのあとに、このSQL文を複数回効率的に実行するためにこのオブジェクトを使用します。このメソッドは、プリコンパイルが効果的となるパラメタ付きSQL文を処理するために最適化されています。ParticipantのJDBC Driverが、プリコンパイルをサポートしている場合、prepareStatementメソッドは、そのSQL文をプリコンパイル用としてデータベースに送ります。

形式
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
引数
java.lang.String sql:

1つ以上の'?'INパラメタ・プレースホルダーを含めることができるSQL文を指定します。

java.lang.String[] columnNames:

挿入された行から返される列を示す列名の配列を指定します。

戻り値

指定された列名の配列によって指定される自動生成キーを返す機能を持つ、プリコンパイルされた文を含む新しいPreparedStatementオブジェクトを返します。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

java.sql.SQLFeatureNotSupportedException:

ParticipantのJDBC Driverがこのメソッドをサポートしない場合に送出します。

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。

(13) setTransactionIsolation(int level)

説明

このConnectionオブジェクトのトランザクション遮断レベルを変更します。指定できるトランザクション遮断レベルの定数は、Connectionインタフェースで定義されています。

形式
public void setTransactionIsolation(int level) throws java.sql.SQLException
引数
int level:

変更後のトランザクション遮断レベルを指定します。次のどれかのConnection定数を指定します。

  • Connection.TRANSACTION_READ_UNCOMMITTED

  • Connection.TRANSACTION_READ_COMMITTED

  • Connection.TRANSACTION_REPEATABLE_READ

  • Connection.TRANSACTION_SERIALIZABLE

戻り値

なし。

例外

PctoCommunicationFailureException例外とPctoInternalContradictionException例外以外は、ParticipantでJDBC Driverが送出した例外を送出します。

java.sql.SQLException:

次の場合に例外を送出します。

  • データベースアクセスエラーが発生した場合

  • メソッドがクローズされたあとに接続された場合

  • 引数に指定されたパラメタがConnection定数以外の場合

PctoCommunicationFailureException:

Entity-ServiceとParticipant間の通信に失敗した場合に送出します。

PctoInternalContradictionException:

Participantの内部で障害が発生した場合に送出します。

PctoPrePreparedException:

先行プリペア実行後にJDBC Proxy Driverのメソッドを実行した場合に送出します。

PctoTransactionStartException:

トランザクションの範囲外で実行されたためトランザクションブランチの開始に失敗した場合に送出します。