HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズ … · 稼働する HP...

166
バージョン情報と著作権情報 ドキュメントタイトル HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズリファレンス 概要 本書では、HP NonStop™ JDBC タイプ 4 ドライバーの使用方法について説明します。このドライバー は、外部プラットフォームで動作する Java アプリケーションに、HP NonStop プラットフォーム上で 稼働する HP NonStop SQL/MX への JDBC アクセスを提供します。適用可能な場合には、タイプ 4 ライバーは、Sun Microsystems, Inc. の標準 JDBC 3.0 API に準拠します。 製品バージョン HP NonStop JDBC タイプ 4 ドライバー 2.0 サポート対象のリリース JDK 1.4.1 以上をサポートする Java 対応プラットフォームがサポート対象です。(詳細なリストについ ては、製品に付属の SOFTDOC ファイルを参照してください。HP NonStop eServices ポータル (https://onepoint.nonstop.compaq.com/) Scout for NonStop サーバーの Web サイトまたは製品 CD で入手できます。) Legal Notice ドキュメント ID マニュアル番号 529651-006J 発行日付 2009 5 目次

Transcript of HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズ … · 稼働する HP...

バージョン情報と著作権情報ドキュメントタイトル

HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズリファレンス

概要

本書では、HP NonStop™ JDBC タイプ 4 ドライバーの使用方法について説明します。このドライバーは、外部プラットフォームで動作する Java アプリケーションに、HP NonStop プラットフォーム上で稼働する HP NonStop SQL/MX への JDBC アクセスを提供します。適用可能な場合には、タイプ 4 ドライバーは、Sun Microsystems, Inc. の標準 JDBC 3.0 API に準拠します。

製品バージョン

HP NonStop JDBC タイプ 4 ドライバー 2.0

サポート対象のリリース

JDK 1.4.1 以上をサポートする Java 対応プラットフォームがサポート対象です。(詳細なリストについては、製品に付属の SOFTDOC ファイルを参照してください。HP NonStop eServices ポータル

(https://onepoint.nonstop.compaq.com/) の Scout for NonStop サーバーの Web サイトまたは製品 CD

で入手できます。)

Legal Notice

ドキュメント ID

マニュアル番号 529651-006J

発行日付

2009 年 5 月

目次

Legal Notices© Copyright 2009 Hewlett-Packard Development Company L.P.

Confidential computer software. Valid license from HP required for possession, use or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor’s standard commercial license.

The information contained herein is subject to change without notice. The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.

Export of this documentation may require authorization from the U.S. Department of Commerce.

Microsoft, Windows, and Windows NT are U.S. registered trademarks of Microsoft Corporation.

Intel, Itanium, Pentium, and Celeron are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

Java is a U.S. trademark of Sun Microsystems, Inc.

Motif, OSF/1, UNIX, X/Open, and the "X" device are registered trademarks, and IT DialTone and The Open Group are trademarks of The Open Group in the U.S. and other countries.

Open Software Foundation, OSF, the OSF logo, OSF/1, OSF/Motif, and Motif are trademarks of the Open Software Foundation, Inc.

OSF MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THE OSF MATERIAL PROVIDED HEREIN, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

OSF shall not be liable for errors contained herein or for incidental consequential damages in connection with the furnishing,

performance, or use of this material.

© 1990, 1991, 1992, 1993 Open Software Foundation, Inc. This documentation and the software to which it relates are derived in part from materials supplied by the following:

© 1987, 1988, 1989 Carnegie-Mellon University. © 1989, 1990, 1991 Digital Equipment Corporation. © 1985, 1988, 1989, 1990 Encore Computer Corporation. © 1988 Free Software Foundation, Inc. © 1987, 1988, 1989, 1990, 1991 Hewlett-Packard Company. © 1985, 1987, 1988, 1989, 1990, 1991, 1992 International Business Machines Corporation. © 1988, 1989 Massachusetts Institute of Technology. © 1988, 1989, 1990 Mentat Inc. © 1988 Microsoft Corporation. © 1987, 1988, 1989, 1990, 1991, 1992 SecureWare, Inc. © 1990, 1991 Siemens Nixdorf Informationssysteme AG. © 1986, 1989, 1996, 1997 Sun Microsystems, Inc. © 1989, 1990, 1991 Transarc Corporation.

This software and documentation are based in part on the Fourth Berkeley Software Distribution under license from The Regents of the University of California. OSF acknowledges the following individuals and institutions for their role in its development: Kenneth C.R.C. Arnold, Gregory S. Couch, Conrad C. Huang, Ed James, Symmetric Computer Systems, Robert Elz. © 1980, 1981, 1982, 1983, 1985, 1986, 1987, 1988, 1989 Regents of the University of California.

Home

hiyos

HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズリファレンス 進む

バージョン情報と著作権情報

発行日付

2009 年 5 月

目次

本書で更新された内容本書について

対象読者本書の構成本書を印刷する関連文書

タイプ 4 ドライバー APINonStop システムコンピューティングドキュメント

表記の規則省略形

第 1章 HP NonStop JDBC タイプ 4 ドライバーについてタイプ 4 ドライバー API パッケージタイプ 4 ドライバーのアーキテクチャー

サポート対象のクライアントプラットフォームタイプ 4 ドライバーによるデータベースアクセス

サンプル第 2 章 タイプ 4 ドライバーのインストールと確認

インストレーションの要件製品ファイルCLASSPATH の設定タイプ 4 ドライバーの確認

第 3 章 SQL/MX による SQL データベースへのアクセス通信の概要データソース

JDBC データソース (クライアントサイド)MXCS データソース (サーバーサイド) MXCS XA データソースの構成

セキュリティSQL/MX への接続方法DataSource インターフェイスを使用した接続

DataSource オブジェクトをデプロイするタスクの概要DataSource オブジェクトのプロパティDataSource クラスのインスタンスをプログラムで作成DataSource オブジェクトをプログラムで登録データソースでの JNDI を使用した DataSource インスタンスの検索データソースを構成するプロパティファイルの指定

DriverManager クラスを使用した接続

ドライバーのロードと登録接続の確立Driver Manager で接続する場合のガイドライン

ストアドプロシージャー接続プーリングステートメントプーリング

ステートメントプーリングのガイドラインステートメントプーリングのトラブルシューティング

スレッドセーフな SQL/MX アクセス「Update ... Where Current of」操作国際化 (I18N) のサポート

文字列リテラルをアプリケーションで使用するケース文字セットのプロパティを使用した文字列リテラル変換の制御固定長文字カラムに対するパディングのトリミングエラーメッセージとステータスメッセージのローカライズ

第 4 章 タイプ 4 ドライバーのプロパティタイプ 4 ドライバーのプロパティの要約

クライアントサイドのプロパティサーバーサイドのプロパティ

JDBC タイプ 4 プロパティの指定方法プロパティの設定方法プロパティファイルの作成と使用コマンド行でのプロパティの設定プロパティ指定の優先順位

タイプ 4 ドライバーのプロパティの説明blobTableName プロパティcatalog プロパティclobTableName プロパティ closeConnectionUponQueryTimeoutconnectionTimeout プロパティdataSourceName プロパティdescription プロパティinitialPoolSize プロパティISO88591 プロパティKANJI プロパティKSC5601 プロパティlanguage プロパティLOB テーブル名プロパティloginTimeout プロパティmaxIdleTime プロパティmaxPoolSize プロパティmaxStatements プロパティminPoolSize プロパティnetworkTimeout プロパティpassword プロパティproperties プロパティreserveDataLocators プロパティroundingMode プロパティschema プロパティ

serverDataSource プロパティT4LogFile プロパティT4LogLevel プロパティtranslationVerification プロパティurl プロパティuseArrayBinding プロパティuser プロパティ

第 5 章 BLOB データと CLOB データでの作業LOB サポートのアーキテクチャーLOB テーブルのプロパティの設定

LOB テーブルの指定データロケーターの予約

CLOB データの格納Clob インターフェイスによる CLOB カラムの挿入CLOB カラムへの ASCII データまたは MBCS データの書き込みPreparedStatement インターフェイスによる CLOB データの挿入setClob メソッドによる Clob オブジェクトの挿入Reader による Unicode データを含む CLOB カラムの挿入CLOB カラムへの Unicode データの書き込み

CLOB データの読み取りCLOB カラムからの ASCII データの読み取りCLOB カラムからの Unicode データの読み取り

CLOB データの更新updateClob メソッドによる Clob オブジェクトの更新Clob オブジェクトの置換

CLOB データの削除BLOB データの格納

Blob インターフェイスによる BLOB カラムの挿入BLOB カラムへのバイナリデータの書き込みPreparedStatement インターフェイスによる BLOB カラムの挿入setBlob メソッドによる Blob オブジェクトの挿入

BLOB カラムからのバイナリデータの読み取りBLOB データの更新

updateBlob メソッドによる Blob オブジェクトの更新Blob オブジェクトの置換

BLOB データの削除NULL と空の BLOB 値または空の CLOB 値Blob アクセスと Clob アクセスを含むトランザクションClob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項

第 6 章 BLOB データと CLOB データを含む SQL/MX テーブルの管理LOB データの管理を開始する前にLOB カラムを含む基本テーブルの作成

LOB カラムのデータ型MXCI による LOB カラムを含む基本テーブルの作成JDBC プログラムによる LOB カラムを含む基本テーブルの作成

Lob Admin ユーティリティによる LOB データの管理Lob Admin ユーティリティの実行タイプ 4 Lob Admin ユーティリティのへルプ表示LOB テーブルの作成

SQL/MX トリガーによる LOB データの削除LOB カラムのバックアップとリストアLOB データ (CLOB データ型と BLOB データ型) の制限

第 7 章 モジュールファイルキャッシュ (MFC)MFC の概要MFC の設計MFC の構成MFC の使用シナリオMFC のチューニングにおける推奨事項MFC の制限事項

第 8 章 タイプ 4 ドライバーのコンプライアンスコンプライアンスの概要サポートされない機能仕様変更HP 拡張

メッセージの国際化DatabaseMetaData メソッドによる Null パラメーター処理のコンフォーマンスタイプ 4 ドライバーの SQL データ型へのコンフォーマンス

JDBC データ型浮動小数点のサポートSQLJ のサポートサポートされない NonStop SQL 機能

サポートされない SQL/MX 機能サポートされない SQL/MP 機能

その他のサポートされない機能制限

第 9 章 トレース機能とロギング機能標準の JDBC トレース機能とロギング機能タイプ 4 ドライバーのロギング機能

タイプ 4 ドライバーのロギング機能へのアクセスタイプ 4 ドライバーのログ出力の制御メッセージ形式ログ出力の例

第 10 章 移行と互換性JDBC ドライバーサードパーティ製データベースオペレーティングシステム互換性

第 11 章 メッセージメッセージフォーマットについてタイプ 4 ドライバーのエラーメッセージ

第 12 章 WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用WebLogic Server の概要互換性

サポートされるトランザクションシナリオサポートされないトランザクションシナリオ

接続とステートメントプーリング付録 A CLOB データおよび BLOB データにアクセスするサンプルプログラム

CLOB データにアクセスするサンプルプログラム

BLOB データにアクセスするサンプルプログラム付録 B スカラー関数用語集索引

表一覧

1. 本書の章構成3.1. SQL/MX 文字セットと Java エンコーディングセットの対比4.1. 接続制御プロパティ4.2. プーリング管理プロパティ4.3. CLOB データと BLOB データに対する操作4.4. 国際化に関するプロパティ4.5. ログとトレースのプロパティ4.6. クライアントサイドの各種プロパティ4.7. タイプ 4 ドライバーのサーバーサイドのプロパティ

例一覧

6.1. タイプ 4 Lob Admin ユーティリティのヘルプ

進む 本書で更新された内容

マニュアル番号 529651-006J Legal Notice

本書で更新された内容戻る 進む

本書で更新された内容このエディション (529651-006J) では、以下の内容が更新されています。

● 省略形に以下の用語を追加

❍ DSC

❍ MFC

● maxStatements プロパティを更新

● loginTimeout プロパティを更新

● 新たに「モジュールファイルキャッシュ」の章を追加

● 「BLOB データにアクセスするサンプルプログラム」を更新

● エラーメッセージ 29197 を追加

● 新たに「付録 B スカラー関数」を追加

旧版 (529651-005) では、以下の内容が更新されました。

● 「ストアドプロシージャー」で、サポートされない SPJ 機能の説明を修正

旧版 (529651-004) では、以下の内容が更新されました。 この 529651-004 版の『HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズリファレンス』では、タイプ 4 ドライバーバージョン 2.0 の使用方法が説明されています。これは、その前の 529651-

003 版から更新された主な点です。この版にリストされている新しい機能は、その時点の更新と、それ以前の版を累積したものです。したがって、この版には、タイプ 4 ドライバーバージョン 1.1 が説明されている 529651-001 版以降の、マニュアル内の変更点が含まれています。

● 表 4.6 で、Statement.setQueryTimeout ステートメントに新機能

closeConnectionUponQueryTimeout を追加。「クライアントサイドプロパティ」の各種クライアントサイドプロパティ。

● 「タイプ 4 ドライバーのプロパティの説明」に closeConnectionUponQueryTimeout の説明を追加。

● 「サポートされない機能」に CallableStatement.getBlob を追加。

● setQueryTimeoutErrorMessages に関する新しいエラーメッセージ 29191 から 29196 を追加。

● サーバーサイドプロパティ useArrayBinding を追加。

● 新しい用語 closeConnectionUponQueryTimeout and useArrayBinding を索引に追加。

● 「タイプ 4 ドライバーの確認」のバージョンプロシージャー情報を修正。

● 削除された章を参照する索引用語を削除。● 以下の章を削除

❍ BLOB パラメーターでの SPJ の作成と実行。❍ CallableStatement.getBlob() を使用した BLOB 出力パラメー

ターの取得。❍ CallableStatement.setBlob() を使用した BLOB 入力パラメー

ターの設定。❍ BLOB パラメーターでの SPJ 用 T4LobAdmin ユーティリティの使

用。❍ CallableStatement.getBlob() と CallableStatement.setBlob() の指定。

❍ BLOB をサポートする SQLMX リリースに関する互換性の注意事項。❍ 付録内の BLOB を使用するストアドプロシージャーのサンプル。

旧版 (529651-003) では、以下の内容が更新されました。

● XADataSource および XAResource インターフェイスメソッド ● Unicode LOB のサポート ● SPJ に関する BLOB パラメーターのサポート

● タイプ 4 ドライバーで提供される サンプル、WLS_TwoPhaseandPoolingSample と WLS_TwoPhaseSample を追加。

● 「MXCS XA データソースの構成」に関する手順を追加。● 以下に Unicode 関連情報を追加

● Reader による Unicode データを含む CLOB カラムの挿入

● CLOB カラムへの Unicode データの書き込み● CLOB カラムからの Unicode データの読み取り

● このリリースで、Java (SPJ) でストアドプロシージャーを使用する際に BLOB データ型がサポートされたことから、注意を更新。

● 「LOB テーブルのタイプ」を追加。● 以下に関する手順を追加

● BLOB パラメーターでの SPJ の作成と実行

● CallableStatement.getBlob() を使用した BLOB 出力パラメーターの取り出し● CallableStatement.setBlob() を使用した BLOB 入力パラメーターの設定

● 「BLOB パラメーターでの SPJ 用 T4LobAdmin ユーティリティの使用」を追加。● program_options と例 6.1 を更新して、-spj オプションと unicode オプションを包含。

● 「サポートされない機能」から、以下のメソッドを削除。

● CallableStatement.getBlob(int parameterIndex)

● CallableStatement.getBlob(String parameterName) ● javax.sql.XAConnection● javax.sql.XADataSource

● 「CallableStatement.getBlob() と CallableStatement.setBlob() の指定」を追加。

● 新たに「互換性」の章を追加し、「移行と互換性」に名前を変更。● 新しいエラーメッセージを追加して、「タイプ 4 ドライバーのエラーメッセージ」を更新。

● 新しい章「WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用」を追加。● 「BLOB を入力パラメーターとしてストアドプロシージャーにアクセス」と「BLOB を入力パ

ラメーターとして使用する Java のストアドプロシージャー」にサンプルプログラムを追加して付録を更新。

旧版 (529651-002) では、以下の内容が更新されました。

● V11^AAC およびそれ以上の Software Product Releases (SPRs) で使用可能な新しいプロパティ maxIdleTime を追加。

● 軽微な技術上の修正と編集上の修正を包含。

戻る 上へ 進む目次 ホーム 本書について

マニュアル番号 529651-006J Legal Notice

本書について戻る 進む

本書について対象読者本書の構成本書を印刷する関連文書

タイプ 4 ドライバー APINonStop システムコンピューティングドキュメント

表記の規則省略形

対象読者この『HP NonStop JDBC タイプ 4 ドライバー 2.0 プログラマーズリファレンス』は、経験のある

Java プログラマーを対象に、タイプ 4 ドライバーで NonStop SQL/MX にアクセスする方法を解説します。

本書は、読者が以下に関する知識を持っていることを前提としています。

● JDK 1.4.1 以上で実行される J2EE または Java アプリケーション

● Sun Microsystems により定義された JDBC 3.0 仕様

● JDBC 3.0 API

本書の構成本書は、一連の HTML ファイル (Web ページ) にリンクされています。各ファイルが、次の表に示す章の 1 つに対応します。

表 1 本書の章構成

章 説明

本書について本書の対象読者と本書の構成について説明し、関連文書を示すとともに、表記規則と省略形について説明し、コメントを記載します。

第 1 章 HP NonStop JDBC タイプ 4 ドライバーについて ドライバーのアーキテクチャーについて説明します。

第 2 章 タイプ 4 ドライバーのインストールと確認

インストール要件に関する情報が置かれている場所を示し、タイプ 4 ドライバーのインストールを検証する方法を説明します。

第 3 章 SQL/MX による SQL データベースへのアクセス

タイプ 4 ドライバーを使用して NonStop SQL/MX データベースにアクセスする方法を説明します。

第 4 章 タイプ 4 ドライバーのプロパティ

ドライバーを構成するプロパティを設定する方法を説明したうえで、各プロパティについて詳しく説明します。

第 5 章 BLOB データと CLOB データでの作業

JDBC アプリケーションで、JDBC 3.0 API 仕様で規定されている標準インターフェイスを使用して、BLOB データおよび CLOB データを取り扱う方法を説明します。

第 6 章 BLOB データと CLOB データを含む SQL/MX テーブルの管理

BLOB データと CLOB データのテーブルを追加および管理するためのデータベース管理 (システム管理) 作業を説明します。タイプ 4 ドライバーは、BLOB データおよび CLOB データへのアクセスのサポートを実装するのに SQL/MX テーブルを使用します。

第 7 章 モジュールファイルキャッシュ (MFC)

モジュールファイルキャッシュ (MFC) 機能.について説明します。

第 8 章 タイプ 4 ドライバーのコンプライアンス

タイプ 4 ドライバーと Sun Microsystems JDBC 3.0 標準の相違点について説明します。NonStop SQL/MX および NonStop SQL/MP の未サポート機能を示します。

第 9 章 トレース機能とロギング機能 トレース機能とロギング機能について説明します。

第 10 章 移行と互換性 タイプ 4 ドライバーに移行するために必要なアプリケーション変更について説明します。

第 11 章 メッセージタイプ 4 ドライバーにより表示されるメッセージを掲載します。説明には、メッセージのテキスト、原因、結果、およびリカバリ情報を示します。

第 12 章 WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用

WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用について説明します。

付録 A CLOB データおよび BLOB データにアクセスするサンプルプログラム

CLOB データおよび BLOB データへのアクセスを示すサンプルプログラムを掲載します。

付録 B スカラー関数 モジュールファイルキャッシュ (MFC) でサポートされていないスカラー関数を掲載します。

用語集 本書で使用する用語の定義を示します。

本書を印刷する本書を紙でお読みになる場合、コンピュータの画面に本書を表示している場合に使用できる他のドキュメントへの HTML リンクがご利用いただけなくなりますが、本書は、NonStop Technical Library またはご使用の Web ブラウザから 1 ファイルずつ印刷できます。本書を構成する各章の一覧については、「本書の構成」を参照してください。

注意:

ブラウザによっては、画面に表示される本文をすべて印刷するには、印刷サイズを縮小しなければならない場合があります。

関連文書

タイプ 4 ドライバー API

NonStop システムコンピューティングドキュメント

標準のドキュメントに加えて、タイプ 4 ドライバーのさまざまなアプリケーションサーバーでの使用に関するホワイトペーパー、およびパフォーマンスを向上させる方法に関するホワイトペーパーを、製品インストールと docs.hp.com にある NonStop Technical Library の両方から入手できます。

タイプ 4 ドライバー APISun Microsystems ドキュメントHP NonStop JDBC タイプ 4 ドライバーのリリース時点で、以下のドキュメントが Sun Microsystems

の Web サイトから入手可能です。

注意:

お客様が Microsystems の Web サイトから Java ドキュメントを入手できなかったときのために、NonStop Server for Java 4 の製品配布 CD には、Sun Microsystems

Java 2 SDK, Standard Edition Documentation Version 1.4.1 が実行可能ファイルの形で含まれています。JDBC Driver for NonStop SQL/MX のドキュメント内にある Sun

Java ドキュメントへのリンクは、Sun Microsystems の Web サイトに移動します。移動先のサイトには、SDK 1.4.1 より広範なドキュメントが用意されています。Sun

Microsystems の Web サイト上から J2SE SDK 1.4.1 ドキュメントが入手可能かについては、HP 側で保証することはできません。また、Sun Microsystems により提供されるドキュメント内のリンクや内容については、HP では一切責任を負いかねます。

● JDBC 3.0 の仕様 (英語)、Sun Microsystems からダウンロードにて入手可能です。(http://

java.sun.com/products/jdbc/download.html)

● JDBC API ドキュメント (英語)、API およびチュートリアルへのリンクがあります。(http://

java.sun.com/j2se/1.4.1/docs/guide/jdbc/index.html)

● JDBC データ アクセス API (英語)、一般情報

(http://java.sun.com/products/jdbc/index.html)

● JDBC データアクセス API (英語)、JDBC 3.0 に関する FAQ

(http://java.sun.com/products/jdbc/faq.html)

● JDBC API Javadoc コメント

❍ java.sql パッケージ (英語) 内のコア JDBC 3.0 API

(http://java.sun.com/j2se/1.4.1/docs/api/java/sql/package-

summary.html)

❍ javax.sql パッケージ (英語) 内のオプション JDBC 3.0 API

(http://java.sun.com/j2se/1.4.1/docs/api/javax/sql/package-

summary.html)

タイプ 4 ドライバーの実装に固有の APIタイプ 4 ドライバーのインプリメンテーションに固有の API については、docs.hp.com にある

NonStop Technical Library から入手可能な、次のタイプ 4 ドライバードキュメントを参照してください。

NonStop JDBC Type 4 Driver API Reference

NonStop システムコンピューティングドキュメント以下の NonStop システムコンピューティングドキュメントは、docs.hp.com にある NonStop

Technical Library から入手できます。

● 『SQL/MX Connectivity Service Manual』 — NonStop サーバー上の SQL/MX 接続サービス

(MXCS) について説明します。この製品は、Microsoft® Open Database Connectivity (ODBC)

アプリケーションプログラミングインターフェイスおよびその他の接続 API 用に開発されたアプリケーションが、NonStop SQL/MX を使用して NonStop システム上の NonStop SQL データベースにアクセスすることを可能にします。

● 『NonStop JDBC Server Programmer's Reference』 — NonStop サーバー上にデプロイされ、SQL/MP テーブルまたは SQL/MX テーブルを使用して NonStop SQL データベースにアクセスするアプリケーションの開発とデバッグを、Java プログラマがリモートから (PC または

UNIX マシンから) 行うことを可能にする JDBC タイプ 3 ドライバーの使用方法を説明します。

● 『JDBC Driver for SQL/MX プログラマーズリファレンス』 — NonStop システム上で実行される

Java アプリケーションに、SQL/MX エンジンを介した NonStop SQL データベースへのアクセスを提供するタイプ 2 ドライバー、JDBC Driver for SQL/MX (JDBC/MX) の使用方法を説明します。

● SQL/MX ドキュメント

❍ 『SQL/MX Programming Manual for Java』 — Java プログラムに埋め込まれた SQL

(SQLJ プログラム) を使用して、SQL/MX テーブルで NonStop SQL データベースにアクセスする方法を説明します。

❍ 『SQL/MX Java ストアド・プロシージャ・ガイド』 — SQL/MX で Java (SPJ) のストアドプロシージャーを開発およびデプロイする方法について説明します。

❍ 『SQL/MX クイック・スタート』 — SQL/MX 会話型インターフェイス (MXCI) で SQL

を使用するための基本的な手法を説明します。サンプルデータベースのインストールに関する情報も含まれています。

❍ 『SQL/MX リファレンス・マニュアル』 — SQL/MX 言語の要素 (式、述語、関数など) について説明し、さらに MXCI 内または埋め込みプログラム内で実行できる SQL

ステートメントについて説明します。また、MXCI のコマンドとユーティリティについても説明します。

表記の規則

太字本文内の太字は、用語集に掲載されている用語を示します。次に例を示します。

抽象クラス

コンピュータータイプ本文内の Computer type 文字は、キーワード、予約語、コマンド名、クラス名、メソッド名などを示します。この文字列は、表記のとおりに正確に入力してください。次に例を示します。

myfile.c

イタリック体のコンピュータータイプ構文説明または本文内の Italic computer type 文字は、ユーザーが指定する変数項目を示します。次に例を示します。

pathname

大カッコ [ ]

大カッコで囲まれている項目は、省略可能な構文項目です。次に例を示します。

jdb [options]

大カッコで囲んだ項目のリストは、そのリストから1つの項目を選択するか、何も選択しなくてもよいことを意味します。項目の区切りには、縦棒が使用されます。次に例を示します。

where [threadID|all]

中カッコ { }

中カッコで囲まれた項目のグループは、そこから 1 つを選択する必要があるリストです。次に例を示します。

-c identity {true|false}

縦棒 |

大カッコ、または中カッコで囲まれた項目を区切ります。次に例を示します。

where [threadID|all]

省略記号 ...

一組の大カッコまたは中カッコの直後にある省略記号は、カッコで囲まれた構文項目を、任意の回数繰り返すことができることを示します。次に例を示します。

print {objectID|objectName} ...

単一の構文項目の直後にある省略記号は、その構文項目を任意の回数繰り返すことができることを示します。次に例を示します。

dump objectID ...

句読記号小カッコ、カンマ、等号、および上記以外のその他の記号は、表記のとおりに正確に入力しなければなりません。次に例を示します。

-D propertyName=newValue

項目の間のスペース項目の間のスペースは、項目の 1 つが小カッコやカンマなどの句読記号である場合を除いて、必須です。2 つの項目の間にスペースがないときは、スペースを入れてはいけません。次の例では、ピリオドの前後にスペースを入れてはいけません。

subvolume-name.filename

複数行にまたがる場合コマンドの構文が長すぎて 1 行に収まらない場合、次の行に続く各行の末尾にはバックスラッシュ (¥) が置かれ、それに続く行の先頭は大なり記号 (>) で始まります。次に例を示します。

/usr/bin/c89 -c -g -I /usr/tandem/java/include ¥> -I /usr/tandem/java/include/oss -I . ¥> -Wextensions -D_XOPEN_SOURCE_EXTENDED=1 jnative01.c

省略形ANSI: American National Standards Institute (米国規格協会)

API: Application Program Interface (アプリケーションプログラミングインターフェイス)

ASCII: American Standard Code for Information Interchange (米国情報交換用標準符号)

CD: Compact Disk (コンパクトディスク)

COBOL: Common Business-Oriented Language (汎商業目的言語)

CPU: Central Processing Unit (中央処理装置)

DCL: Data Control Language (データ制御言語)

DDL: Data Definition Language (データ定義言語)

DML: Data Manipulation Language (データ操作言語)

DSC: Driver Side Cache (ドライバー側キャッシュ)

HTML: Hypertext Markup Language (ハイパーテキストマークアップ言語)

HTTP: Hypertext Transfer Protocol (ハイパーテキスト転送プロトコル)

IEC: International Electrotechnical Committee (国際電気標準会議)

I18N: Internationalization (国際化)

ISO: International Organization for Standardization (国際標準化機構)

JAR: Java Archive (Java アーカイブ)

JCK: Java Compatibility Kit (Java 互換性検証キット)

JFC: Java Foundation Classes (Java 基本クラス)

JDBC: Java Database Connectivity (Java データベース接続性)

JDK: Java Development Kit (Java 開発キット)

JNDI: Java Naming and Directory Interface (Java ネーミングディレクトリインターフェイス)

JNI: Java Native Interface (Java ネイティブインターフェイス)

JRE: Java Run-time Environment (Java ランタイム環境)

LAN: Local Area Network (ローカルエリアネットワーク)

MBCS: Multibyte-Character Set (マルチバイト文字セット)

MFC: Module File Caching (モジュールファイルキャッシュ)

NonStop TS/MP: NonStop Transaction Services/MP (NonStop トランザクションサービス/MP)

OSS: Open System Services (オープンシステムサービス)

POSIX: Portable Operating System Interface X (ポータブルオペレーティングシステムインターフェイス)

RISC: Reduced Instruction Set Computer (縮小命令セットコンピューター)

RVU: Release Version Update (リリースバージョンアップデート)

SPJ: Stored Procedure in Java (Java で記述されたストアドプロシージャ)

SQLJ: embedded SQL in Java programs (Java プログラムに埋め込まれた SQL)

SQL/MP: Structured Query Language/MP (構造化問い合わせ言語/MP)

SQL/MX: Structured Query Language/MX (構造化問い合わせ言語/MX)

TCP/IP: Transmission Control Protocol/Internet Protocol (伝送制御プロトコル/インターネットプロトコル)

TMF: Transaction Management Facility (トランザクション管理ファシリティ)

URL: Uniform Resource Locator (ユニフォームリソースロケーター)

VM: Virtual Machine (仮想マシン)

WWW: World Wide Web

戻る 上へ 進む本書で更新された内容 ホーム 第 1 章 HP NonStop JDBC タイプ 4

ドライバーについて

マニュアル番号 529651-006J Legal Notice

第 1章 HP NonStop JDBC タイプ 4 ドライバーについて戻る 進む

第 1 章 HP NonStop JDBC タイプ 4 ドライバーについてタイプ 4 ドライバー API パッケージタイプ 4 ドライバーのアーキテクチャー

サポート対象のクライアントプラットフォームタイプ 4 ドライバーによるデータベースアクセス

サンプル

タイプ 4 ドライバー API パッケージタイプ 4 ドライバーのパッケージである com.tandem.t4jdbc は、ドライバーソフトウェアと一緒に提供されます。クラスとメソッドの説明については、docs.hp.com の NonStop Technical Library に掲載されている『HP NonStop JDBC

Type 4 Driver API Reference』を参照してください。

HP NonStop JDBC タイプ 4 ドライバー (本書では、「タイプ 4 ドライバー」とします) は、標準 JDBC 3.0 データアクセス API に準拠する JDBC テクノロジーを実装します。Java アプリケーションは、このドライバーによって、HP NonStop

SQL/MX Release 2.0 を使用して NonStop SQL データベースにアクセスします。

標準 JDBC API の詳細については、Sun Microsystems が提供する JDBC API のドキュメント (http://java.sun.com/

products/jdbc/download.html) をダウンロードしてください。

タイプ 4 ドライバーのアーキテクチャー

サポート対象のクライアントプラットフォームタイプ 4 ドライバーによるデータベースアクセス

タイプ 4 ドライバーは、JDBC 3.0 標準機能を使用します。これにより、Java クライアントは、クライアントプラットフォームから NonStop SQL/MX へアクセス可能になります。

タイプ 4 ドライバーを使用するには、NonStop サーバー上で HP NonStop SQL Connectivity Service (MXCS) と NonStop

SQL/MX Release 2.0 を稼働する必要があり、いずれも HP NonStop Open System Services (OSS) 環境が必要です。

SQL/MX Connectivity Service (MXCS) は、NonStop システム上で実行する必要があります。詳細については、『HP

NonStop SQL/MX Connectivity Service Manual』を参照してください。

タイプ 4 ドライバーで XA トランザクションをサポートするには、HP NonStop XA Broker 製品を NonStop サーバーにインストールする必要があります。

サポート対象のクライアントプラットフォームJDK 1.4.1 以上をサポートする Java 対応プラットフォームがサポート対象です。詳細なリストについては、製品に付属の

SOFTDOC ファイルを参照してください。HP NonStop eServices ポータル (https://onepoint.nonstop.compaq.com/) の

Scout for NonStop サーバーの Web サイトまたは製品 CD で入手できます。Web サイトの利用には、登録が必要です。

タイプ 4 ドライバーによるデータベースアクセス

1. Java クライアントアプリケーションが接続を確立します。

2. タイプ 4 ドライバーは、NonStop システム上の MXCS Association Server にアクセスします。

3. MXCS Association Server は、MXCS サーバー用ハンドルをタイプ 4 ドライバーに返します。

4. ドライバーは、MXCS サーバーとの接続を作成し、その接続をクライアントに返します。

5. MXCS は、JDBC タイプ 4 ドライバーの要求をクライアントから受け取り、SQL/MX データベースエンジンを使用して処理します。

次の図は、タイプ 4 ドライバーを使用したデータベースアクセスを示しています。

タイプ 4 ドライバーは、MXCS サービスを使って SQL/MX データベースにアクセス

サンプル次に示すサンプルは、タイプ 4 ドライバーに付属しています。

サンプル 説明

CallableStatementSample Java ストアドプロシージャー (SPJ) の呼び出しを示します。(1)

DBMetaSample

Connection インターフェイスと ResultSetMetaData インターフェイスを使用して、テーブルからメタデータを取得します。取得される情報には、タイプ (getTypeInfo() のタイプ)、カタログ、テーブル、プロシージャ、カラム、テーブルのカラム数などがあります。(1)

PreparedStatementSamplePreparedStatement インターフェイスを使用して、CHAR、INT、TIMESTAMP、DECIMAL、NUMERIC、DATE のデータ型について、すべてを選択またはパラメータ化された選択を実行します。(1)

ResultSetSamplesimple select ステートメントを実行し、simple select ステートメントが返した結果セットに関するメタデータ情報を取得します。さらに、結果セットのメタデータを使って、simple select ステートメントが返す各ローを印刷します。(1)

SQLMPSample

simple select ステートメントを SQL/MP テーブルで実行し、simple select ステートメントが返した結果セットに関するメタデータ情報を取得します。さらに、結果セットのメタデータを使って、simple select ステートメントが返す各ローを印刷します (SQL/MX エンジンにより、既存の SQL/MP テーブルにアクセスします)。

StatementSamplesimple select ステートメントを実行し、simple select ステートメントが返した結果セットに関するメタデータ情報を取得します。さらに、結果セットのメタデータを使って、simple select ステートメントが返す各ローを印刷します。(1)

WLS_MedRecSample

Oracle などのデータベースを使用する J2EE アプリケーションは、BEA WebLogic Server で再構成することにより、NonStop SQL/MX との連携が可能になることを示します。コーディングの変更や再コンパイルを実行しなくても、各種リレーショナルデータベース管理システム (RDBMS) から NonStop SQL/MX へ切り替えることができます。(2)

WLS_TwoPhaseandPoolingSample 接続プーリング、特に、作成された物理接続数は、BEA WebLogic Server 8.1 で設定されている物理接続の最大数を超えないことを示します。(2)

WLS_TwoPhaseSampleタイプ 4 ドライバーは、BEA WebLogic Server 8.1 で 2 フェーズコミットを行う XA ドライバーとして構成可能であることを示します。タイプ 4 ドライバーは、2 フェーズコミットに参加できます。

注意:

1. サンプルの SQL/MX テーブルを作成、インストール、ドロップします。

2. SQL/MX テーブルの作成方法は、サンプルのドキュメントに記載されています。

上記サンプルの詳細については、タイプ 4 ドライバーソフトウェアに付属の README ファイル (samples ディレクトリ)

を参照してください。

戻る 上へ 進む本書について ホーム 第 2 章 タイプ 4 ドライバーのインストール

と確認

マニュアル番号 529651-006J Legal Notice

第 2章 タイプ 4 ドライバーのインストールと確認戻る 進む

第 2 章 タイプ 4 ドライバーのインストールと確認インストレーションの要件製品ファイルCLASSPATH の設定タイプ 4 ドライバーの確認

インストレーションの要件タイプ 4 ドライバーのハードウェアおよびソフトウェア要件については、製品に付属の SOFTDOC

ファイルを参照してください。HP NonStop eServices ポータル (https://onepoint.nonstop.compaq.

com/) にある Scout for NonStop サーバーの Web サイトまたは製品 CDで入手できます。製品をインストールする前に、SOFTDOC ファイルをお読みください。

タイプ 4 ドライバーを使用するには、次の製品を NonStop システムにインストールする必要があります。

● NonStop SQL/MX リリース 2.0 またはそれ以降の 2.x リリース

● NonStop MXCS リリース 2.0 またはそれ以降の 2.x リリース

タイプ 4 ドライバーを使用するには、次の製品をクライアント環境にインストールする必要があります。

● JDK 1.4.2 以上

注意:

最新のソフトウェア要件については、SOFTDOC ファイルを参照し、使用可能な最も古いソフトウェアバージョンを確認してください。記載のバージョン以降の製品が使用可能です。

製品ファイルJDBC タイプ 4 クライアントコンポーネントは、別製品として、HP NonStop eServices ポータル

(https://onepoint.nonstop.compaq.com/) のScout for Nonstop Server の Web サイトまたは製品 CD で提供されます。この製品では、次のファイルとディレクトリが提供されます。

注意:

以下は、リストの一部です。

● 製品ファイルが格納された tar ファイル (T1249.tar)

❍ lib

● t4sqlmx.jar

❍ samples

● CallableStatementSample

● common

● DBMetaSample

● PreparedStatementSample

● サンプルの README

● ResultSetSample

● t4sqlmx.properties

● SQLMPSample

● WLS_MedRecSample

● WLS_TwoPhaseandPoolingSample

● WLS_TwoPhaseSample❍ docs

● ホワイトペーパー

❍ install

● product.contents (インストール、アンインストール、プラットフォーム修正用のテスト入力ファイル)

● README.txt (製品 CD のみで提供)

CLASSPATH の設定JDBC アプリケーションを実行する前に、CLASSPATH 環境変数に t4sqlmx.jar ファイルとインストレーションディレクトリが含まれていることを確認してください。t4sqlmx.jar ファイルは、製品をインストールした lib ディレクトリに格納されています。

タイプ 4 ドライバーの確認タイプ 4 ドライバーのバージョンを確認するには、次のコマンドを実行します。

java -jar t4sqlmx.jar

このコマンドを実行すると、以下のような出力が表示されます。

Version procedure: T1249_V20(AAV)_31JAN08_HP_NONSTOP(TM)_JDBCT4_2008_01_23

To run the installation check program, use the command:

java t4sqlmxSanityCheck

戻る 上へ 進む第 1章 HP NonStop JDBC タイプ 4 ドライバーについて ホーム 第 3 章 SQL/MX による SQL データ

ベースへのアクセス

マニュアル番号 529651-006J Legal Notice

第 3 章 SQL/MX による SQL データベースへのアクセス戻る 進む

第 3 章 SQL/MX による SQL データベースへのアクセス通信の概要データソース

JDBC データソース (クライアントサイド)MXCS データソース (サーバーサイド)

MXCS XA データソースの構成 セキュリティSQL/MX への接続方法DataSource インターフェイスを使用した接続

DataSource オブジェクトをデプロイするタスクの概要DataSource オブジェクトのプロパティDataSource クラスのインスタンスをプログラムで作成DataSource オブジェクトをプログラムで登録データソースでの JNDI を使用した DataSource インスタンスの検索データソースを構成するプロパティファイルの指定

DriverManager クラスを使用した接続ドライバーのロードと登録接続の確立Driver Manager で接続する場合のガイドライン

ストアドプロシージャー接続プーリングステートメントプーリング

ステートメントプーリングのガイドラインステートメントプーリングのトラブルシューティング

スレッドセーフな SQL/MX アクセス「Update ... Where Current of」操作国際化 (I18N) のサポート

文字列リテラルをアプリケーションで使用するケース文字セットのプロパティを使用した文字列リテラル変換の制御固定長文字カラムに対するパディングのトリミングエラーメッセージとステータスメッセージのローカライズ

通信の概要タイプ 4 ドライバーは、3 つのレイヤーで構成されるプログラムです。

上の図は、MXCS Association Server に対して動作するタイプ 4 ドライバーの 3 つのレイヤーである API レイヤー、IDL レイヤー、トランスポートレイヤーを示しています。

データソース

JDBC データソース (クライアントサイド)MXCS データソース (サーバーサイド) MXCS XA データソースの構成

データソースとは、データベースなどのデータストレージエンティティを論理的に表す名称です。本書では、データソースの概念を次の 2 つの意味で使用します。

● JDBC (クライアント) データソース。物理データベースの URL、そのデータベースで使用するカタログ、そのデータベースで使用するスキーマなどのプロパティを含む物理的な Java オブジェクトです。また、JDBC データソースには、基盤データベースへの JDBC 接続を取得するためのメソッドも含まれています。

● MXCS (サーバー) データソース。MXCS が作成および管理する物理的な情報セットです。このデータソースには構成情報が含まれており、MXCS サーバーのデータソースに基づいてそのサーバーのセマンティクスが定義されます。

JDBC データソース (クライアントサイド)すべての JDBC データソースは、javax.sql.DataSource インターフェイスまたは javax.sql.ConnectionPoolDataSource インターフェイスのいずれかを実装します。タイプ 4 ドライバーのデータソースクラスは、com.tandem.t4jdbc.SQLMXDataSource と com.

tandem.t4jdbc.SQLMXDataSource です(このクラスは、JDBC 3.0 仕様で定義されています)。本リリースのタイプ 4 ドライバーは、javax.sql.XADataSource、java.transaction.xa.XAResource の実装により、分散トランザクションをサポートします。

一般的に、ユーザーまたはシステム管理者は、ツールを使ってデータソースを生成し、JNDI サービスプロバイダーを使ってデータソースを登録します。実行時、ユーザーアプリケーションは、JNDI でデータソースを検索し、データソースのメソッドを使って基盤データベースへの接続を確立します。

DataSource オブジェクトは、データベースのインスタンスのマッピングを行います。タイプ 4 ドライバ製品において、DataSource オブジェクトは、アプリケーションコードとデータベース間のインターフェイスとして機能し、MXCS データソースとの接続を可能にします。

MXCS データソース (サーバーサイド)サーバーデータソースは、NonStop サーバー上に保存されます。各サーバーデータソースは、同じ NonStop SQL コンテキストを共有する

SQL MXCS サーバーのプールです。サーバーデータソースは、通常の場合 NonStop システム管理者が作成します。このシステム管理者は、サーバーデータソースに基づいて作成したすべての接続のセマンティクスを定義します。たとえば、サーバーデータソースには、プール内に保持できる MXCS サーバーの数や、データソースによって処理できる接続数などの情報が含まれています。

MXCS XA データソースの構成XA トランザクションには、デフォルトのデータソースは使用しないでください。次の構成で新しいデータソースを作成し、JDBC

serverDataSource プロパティを使ってこのデータソースを参照する必要があります。

1. NSM/Web または MXCI を使用して、分散 (XA) トランザクションへの参加が必要なデータソースを作成します。ここでは、作成するデータソースの名前を XADS とします。

2. NonStop サーバーにログオンします。このサーバーでは、サーバーサイドのデータソースを super.super に構成する必要があります。3. MXCI を起動します。 4. MXCI プロンプトが表示されたら、次のコマンドを実行します。

a. NONSTOP_SQLMX_<machine_name>.MXCS_SCHEMA; スキーマを設定します。machine_name には、ログの対象となる NonStop オペレーティングシステムサーバーを指定します。

たとえば、¥HPIDMR4 というマシンの場合、コマンドは次のようになります。

set schema NONSTOP_SQLMX_HPIDMR4.MXCS_SCHEMA;

b. select * from name2id を実行します。手順 1 で作成したデータソース XADS に関連付けられている ID を確認します。

次の表は、コマンド出力の例です。

OBJ_ID OBJ_TYPE OBJ_NAME LAST_UPDATED

1 1 TDM_Default_ODBCService ?

2 2 TDM_Default_DataSource ?

3 2 XADS2007-01-24

11:05:26.846563

上の表から、データソース XADS には ‘3’ という値が割り当てられていることがわかります。

c. 次の Control Query Default (CQD) のデフォルトを、ENVIRONMENTVALUES テーブルへのアクセスおよび変更に設定します。

i. Control Query Default ODBC_METADATA_PROCESS 'ON';ii. 手順 1 で作成したデータソース XADS の XA 定義を挿入します。

これを ENVIRONMENTVALUES に挿入します。

ENV_ID: what we got from step a> and b>

VARIABLE_SEQUENCE: 0

VARIABLE_TYPE: 7

VARIABLE_VALUE: -XABRK <XABROKER PROCESS NAME> -DM <DOMAIN NAME> -PATH <OSS PATH OF THE

XABROKER FILE> [-CONN <number of connections> -TRANS <number of transaction> -LVL

<debug level>]

VARIABLE_VALUE では、コマンド行引数を指定して、XA Broker 製品を起動できます。以下に、推奨値とデフォルト値を示します。

-XABRK <XABROKER PROCESS NAME> = $XABR

-DM <DOMAIN NAME> = BRK_TEST_XABR

-PATH <OSS PATH OF THE XABROKER FILE> = /G/system/zxabrkr

-CONN <number of connections> = Default 100, Max 1000

-TRANS <number of transaction> = Default 10, Max 100

-LVL <debug level> = Default 0. Valid levels: 0 (Error), 1 (Error and Info), 2 (Error,

Info and Debug)

次に例を示します。

Insert into ENVIRONMENTVALUES (ENV_ID, VARIABLE_SEQUENCE,VARIABLE_TYPE,VARIABLE_VALUE)

values(3,0,7, '-XABRK XABR -DMBRK_TEST_XABR -PATH /G/system/ZXABRKR -CONN 100 -TRANS 10

-LVL 0');

セキュリティクライアントは、有効な Guardian ユーザー名と ID を使用して、標準 JDBC 3.0 API で MXCS サーバーに接続します。アプリケーションは、複数のユーザー ID を使って MXCS へ複数の接続を確立することができ、この場合は複数の接続オブジェクトが作成されます。

タイプ 4 ドライバーは、MXCS への接続前に、ユーザー名とパスワードの認証を行います。パスワードは、MXCS 製品に搭載されている独自仕様のアルゴリズムに基づいて暗号化されます。

注意:

タイプ 4 ドライバーと MXCS サーバー間の通信には、SSL などの安全な有線通信はありません。

SQL/MX への接続方法Java アプリケーションは、NonStop SQL./MX への JDBC 接続を次の 2 つの方法で取得できます。

● DataSource インターフェイスを使用する方法 (推奨)

● DriverManager クラスを使用する方法

DataSource インターフェイスを使用した接続

DataSource オブジェクトをデプロイするタスクの概要DataSource オブジェクトのプロパティDataSource クラスのインスタンスをプログラムで作成DataSource オブジェクトをプログラムで登録データソースでの JNDI を使用した DataSource インスタンスの検索データソースを構成するプロパティファイルの指定

javax.sql.DataSource インターフェイスには、アプリケーションの移植性を高めるという特長があり、データベースへの接続を確立する方法として推奨されています。移植性が向上するのは、ドライバー固有の情報を提供するのではなく、データソースに対して論理名を使用するためです。論理名は、Java Naming and Directory Interface (JNDI) を使用するネーミングサービスによって、javax.sql.DataSource オブジェクトにマッピングされます。この DataSource メソッドを使用する方法は、特にアプリケーションサーバーでお勧めします。

「データソース」で説明したように、2 つの種類のデータソースが対話します。

アプリケーションが、DataSource 内の getConnection メソッドを使用して接続を要求すると、このメソッドは Connection オブジェクトを返します。

DataSource オブジェクトは、Connection オブジェクトのファクトリです。DataSource インターフェイスを実装するオブジェクトは、通常、JNDI サービスプロバイダーで登録されます。

DataSource オブジェクトをデプロイするタスクの概要アプリケーションが DataSource オブジェクトに接続するには、一般に、システム管理者は DataSource オブジェクトをデプロイする必要があります。これにより、アプリケーションプログラマは、オブジェクトを使用できるようになります。

データソースプロパティは、データソースと共にインストールされる GUI ツールを使用して、システム管理者が設定します。データソースのユーザーがプロパティを取得または設定することはありません。管理ツールは、イントロスペクションを使用してプロパティを取得します。

データベースオブジェクトの作成と登録では、次のタスクが実行されます。

1. DataSource クラスのインスタンスの作成

2. DataSource オブジェクトのプロパティ設定

3. Java Naming and Directory Interface (JNDI) API を使用するネーミングサービスへの DataSource オブジェクトの登録

通常、DataSource クラスのインスタンスと DataSource オブジェクトプロパティは、データソースと共にインストールされる GUI ツールを使って、アプリケーション開発者またはシステム管理者が設定します。インストール済みのデータソースを使用している場合は、「DataSource オブジェクトのインスタンスをプログラムで作成」に進んでください。

このトピックの後に、タスクをプログラムで実行する例が紹介されています。

データソースの使用方法に関する詳細については、『The JDBC Tutorial: Chapter 3- Advanced Tutorial』 (http://java.sun.com/developer/Books/

JDBCTutorial/index.html) などの情報を参照してください。

DataSource オブジェクトのプロパティDataSource オブジェクトは、オブジェクトが表現する実際のデータソースを識別および記述するプロパティを備えています。このプロパティには、MXCS Association Server のURL、データベーススキーマやカタログ名、データベースサーバーの場所、データベース名などの情報が含まれています。

注意:

JDBC アプリケーションがサーバーデータソースを使用する場合、データソースを事前に起動しておく必要があります。したがって、デフォルトのサーバーデータソースであるサーバー (MXCS) データソースをアプリケーションが使用する場合、接続を試行する前に、このデータソースが起動していることを確認してください。詳細については、『SQL/MX Connectivity

Service Manual』を参照してください。

DataSource オブジェクトで使用できるタイプ 4 ドライバーのプロパティについては、「タイプ 4 ドライバーのプロパティ」の章を参照してください。

DataSource クラスのインスタンスをプログラムで作成JDBC アプリケーションは、プログラムを使って DataSource プロパティを設定し、DataSource オブジェクトに登録することができます。

DataSource オブジェクトのプロパティをプログラムを使用して取得または設定するためには、SQLMXDataSource オブジェクトまたは

SQLMXConnectionPoolDataSource オブジェクトで適切なゲッターメソッドまたはセッターメソッドを使用する必要があります。例を示します。

SQLMXDataSource temp = new SQLMXDataSource(); temp.setCatalog("abc");

次の例は、DataSource オブジェクトである ds が serverName プロパティをサポートする場合に、インクルードする必要があるメソッドを示すコードの一部です。

ds.setServerName("my_database_server");

このコードは、タイプ 4 ドライバーを使用して SQL/MX データベースにアクセスするために、SQLMXDataSource オブジェクトのプロパティを設定しています。

SQLMXDataSource ds = new SQLMXDataSource(); ds.setUrl("jdbc:t4sqlmx://mynode.mycompanynetwork.net:port_number/"; ds.setCatalog("mycat"); ds.setSchema("myschema"); ds.setUser("lee"); ds.setPassword("safeguard password");

// Properties relevant for Type 4 connection pooling.// Set ds.setMaxPoolSize(-1) for turning OFF connection pooling ds.setMaxPoolSize("10000"); ds.setMinPoolSize("1000"); // Properties relevant for Type 4 statement pooling.// Set ds.setMaxStatement(0) for turning statement pooling OFF// Statement pooling is enabled only when connection pooling is// enabled. ds.setMaxStatements("7000");

DataSource オブジェクトをプログラムで登録次の例では、上記のコードを使って JDNI で作成された SQLMXDataSource オブジェクト ds を、プログラムによって登録します。

java.util.Hashtable env = new java.util.Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY, "Factory class name here");javax.naming.Context ctx = new javax.naming.InitialContext(env);ctx.rebind("myDataSource", ds);

データソースでの JNDI を使用した DataSource インスタンスの検索一般的に、JDBC アプリケーションは、データソースの JNDI 名をコンテキストオブジェクトからルックアップします。アプリケーションは、DataSource オブジェクトを取得すると、データソースで getConnection() をコールし、接続を取得します。

以下に、JDBC アプリケーションが、SQL/MX データベースに関連付けられているデータソースに接続して使用する手順と、処理を実行するアプリケーションコードを示します。

1. パッケージをインポートします。

import javax.naming.*; import java.sql.*; import javax.sql.DataSource;

2. 初期コンテキストを作成します。

Hashtable env = new Hashtable();env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");try{ Context ctx = new InitialContext(env);} catch( ... ) { ... }

3. データソース myDataSource に関連付けられた JNDI 名をルックアップします。myDataSource は、実際のデータソースである

MXCS サーバーに関連付けられた論理名です。

DataSource ds = (DataSource)ctx.lookup("myDataSource");

4. データソースを使用して、接続を作成します。

con = ds.getConnection();

5. 接続を使って作業を行います。次に、ステートメントの 1 例を示します。

stmt = con.createStatement();try{ stmt.executeUpdate("drop table tdata");}catch (SQLException e) {}

データソースを構成するプロパティファイルの指定プロパティファイルメソッドを使って DataSource オブジェクトを構成するには、プロパティファイルがディスク上に存在し、そこにデータソースを構成する property_name=property_value ペアが記述されていなければなりません。プロパティファイルの作成方法については、「プロパティファイルの作成と使用」を参照してください。

JDBC アプリケーションは、接続を確立すると、プロパティファイルをコマンド行パラメーターとして渡します。

java -Dt4sqlmx.properties=file_location ...

上記のプロパティと構成はすべて、分散トランザクションに参加する SQLMX XADataSource オブジェクトに適用されます。

DriverManager クラスを使用した接続

ドライバーのロードと登録接続の確立

Driver Manager で接続する場合のガイドライン

java.sql.DriverManager クラスは、接続を確立する方法として幅広く使用されていますが、移植性の点で DataSource クラスに劣ります。DriverManager クラスは、Driver インターフェイスと連携して、ロード済みのドライバーを管理します。アプリケーションが

DriverManager.getConnection メソッドを使って接続要求を発行し、URL を提供すると、DriverManager は、この URL を認識できるドライバーを検出し、そのドライバーを使ってデータベース接続を取得します。

com.tandem.t4jdbc.SQLMXDriver は、java.sql.Driver インターフェイスを実装する タイプ 4 ドライバークラスです。

ドライバーのロードと登録アプリケーションは、データベースに接続する前に、Driver クラスをロードして タイプ 4 ドライバーを DriverManager クラスに登録します。この作業は、次のいずれかの方法で実行されます。

● Java プログラムのコマンド行で、-Djdbc.drivers オプションにタイプ 4 ドライバークラスを指定します。

-Djdbc.drivers=com.tandem.t4jdbc.SQLMXDriver

● Class.forName メソッドを使って、アプリケーション内でプログラムを使用して実行します。

Class.forName("com.tandem.t4jdbc.SQLMXDriver")

● アプリケーション内で、タイプ 4 ドライバークラスを java.lang.System プロパティ jdbc.drivers に追加します。

jdbc.drivers=com.tandem.t4jdbc.SQLMXDriver

接続の確立DriverManager.getConnection メソッドは、タイプ 4 ドライバー URL を含む文字列を受け取ります。次に、タイプ 4 ドライバー用の

JDBC URL を示します。

jdbc:t4sqlmx://ip_address|machine_name:port_number/[:][property=value [;property2=value2]...]

説明

ip_address:port_number は、NonStop MXCS Association Server が稼働している場所を指定します。

property=value と property2=value2; は、タイプ 4 ドライバーのプロパティ名とプロパティ値のペアを指定します。このペアは、セミコロン (;) で区切ってください。次に例を示します。

T4LogLevel=ALL;T4LogFile=temp1.log

プロパティファイルの詳細については、「タイプ 4 ドライバーのプロパティ」を参照してください。

JDBC アプリケーションは、次のコードを使用して、接続を確立できます。

Class.forName("com.tandem.t4jdbc.SQLMXDriver"); //loads the driverString url = “jdbc:t4sqlmx://ip_address|machine_name:port_number/”Connection con = DriverManager.getConnection(url, “userID”, “Passwd”);

変数 con は、SQL ステートメントの作成と実行に使用可能な MXCS データソースへの接続です。

Driver Manager で接続する場合のガイドライン

● タイプ 4 ドライバーは、ドライバーの構成に使用できるプロパティを定義します。プロパティの詳細については、「タイプ 4 ドライバーのプロパティ」を参照してください。

● Java アプリケーションは、次の方法でプロパティを指定できます (推奨される順序で記載しています)。

1. DriverManager クラスの getConnection メソッドで java.util.Properties パラメーターを使用する方法。

2. DriverManager.getconnection メソッドでデータベース URL を使用する方法。URL は、次のとおりです。

jdbc:t4sqlmx: //ip_addr|machine_name:port_num/property=value

3. JDBC ドライバー用のプロパティファイルを使用する方法。プロパティファイルは、コマンド行パラメーターとして渡されま

す。プロパティファイルは、次の形式でコマンド行に入力します。

-Dt4sqlmx.properties=location-of-the-properties-file-on-disk

例: -Dt4sqlmx.properties=C:¥temp¥t4props

プロパティファイルの詳細については、「タイプ 4 ドライバーのプロパティ」の「プロパティファイルの作成と使用」を参照してください。

4. コマンド行で、JDBC プロパティに -D オプションを指定する方法。このオプションを指定すると、Java アプリケーション内で DriverManager を使用するすべての JDBC 接続に適用されます。コマンド行では、次の形式で入力します。

-Dt4sqlmx.property_name=property_value

例: -Dt4sqlmx.maxStatements=1024

ストアドプロシージャーJava アプリケーションは、JDBC 標準 CallableStatement インターフェイスを使って、CALL ステートメントでストアドプロシージャ

(SPJ) を実行します。詳細については、『SQL/MX Java ストアド・プロシージャ・ガイド』を参照してください。

次の SPJ 機能は、サポート対象外です。

● callableStatements での executeBatch

● setXXX() メソッドで、パラメーター番号でなくパラメーター名を指定する場合

java.sql.ResultSet を返す SPJ 機能は、T1249V20^ABT 以上でサポートされています。この機能は、SQL/MX 2.3.2 準拠の ODBC/MX

SERVICES および ODBC/MX SERVER のみで使用できます。

接続プーリングタイプ 4 ドライバーは、接続プーリングの実装を提供します。接続プールは、物理データベース接続のキャッシュをクライアントセッションに割り当てることにより、データベースの処理に再利用できます。接続プーリングが有効になっていると、接続が物理的に閉じることはありません。Connection.close() メソッドがコールされると、接続は接続プールに戻されます。その後、クライアントがこの接続を要求すると、ドライバーはプールから接続を返し、物理接続は新規作成されません。

● JDBC アプリケーションが DriverManager クラスまたは DataSource インターフェイスを使って JDBC 接続を取得する場合、接続プールリングが使用可能になります。接続プールのサイズは、maxPoolSize プロパティの値と minPoolSize プロパティの値で指定できます。

● デフォルトでは、接続プーリングは無効になっています。接続プーリングを有効にするには、maxPoolSize プロパティを 0 (ゼロ) より大きい整数値に設定してください。

● 接続プーリングの管理には、次のタイプ 4 ドライバープロパティを使用します。

❍ maxPoolSize

❍ minPoolSize

❍ initialPoolSize

❍ maxStatements

● DriverManager クラスを使用すると、タイプ 4 ドライバーで接続プールマネージャーを使用できます。次のプロパティを組み合わせて値を指定することにより、どの接続をプールするかを指定できます。

url

catalog

schema

username

password

blobTableName

clobTableName

serverDataSource

したがって、同じプロパティ値の組み合わせを持つ接続は、一緒にプールされます。

注意:

接続プーリングのプロパティ値の組み合わせを接続に使用すると、プロパティ値は、そのプロセスが終了するまで有効になります。特定の組み合わせを使用して接続した後は、アプリケーションはプロパティ値を変更できません。

ステートメントプーリング

ステートメントプーリングのガイドラインステートメントプーリングのトラブルシューティング

接続プーリング環境では接続を再利用できますが、これと同じように、ステートメントプーリングを使用すると、アプリケーションは

PreparedStatement オブジェクトを再利用できます。ステートメントプーリングは、アプリケーションに対して完全に透過的に実行されます。

ステートメントプーリングのガイドライン

● ステートメントプーリングを有効にするには、maxStatements プロパティを 0 (ゼロ) より大きい整数値に設定し、接続プーリングを有効にしてください。詳細については、「接続プーリング」を参照してください。

● JDBC アプリケーションでステートメントプーリングを有効にすると、パフォーマンスが大幅に向上する場合があります。

● スコープ外の PreparedStatement オブジェクトは、アプリケーションが明示的にクローズしない限り再利用されないため、プリペア済みステートメントを Statement.close メソッドで明示的にクローズしてください。

● 次のいずれかをコールして、アプリケーションが PreparedStatement を再利用するようにしてください。

❍ Statement.close メソッド — アプリケーションによってコール。

❍ Connection.close メソッド — アプリケーションによってコール。接続を再利用すると、使用された

PreparedStatement オブジェクトはすべて再利用可能になります。

ステートメントプーリングのトラブルシューティングステートメントプーリングのトラブルシューティングについては、次に示すタイプ 4 ドライバーの実装に関する内容を確認してください。

● タイプ 4 ドライバーは、ステートメントプール内でマッチングの条件に合う PreparedStatement オブジェクトを検索し、PreparedStatement を再利用します。マッチングの基準は、SQL 文字列、現在のカタログ、現在のスキーマ、現在のトランザクション分類、resultSetHoldability です。タイプ 4 ドライバーは、条件に合う PreparedStatement オブジェクトを検索できる場合、同じ PreparedStatement オブジェクトをアプリケーションに返し、PreparedStatement オブジェクトを使用中としてマークします。

● ステートメントの数が maxStatements の制限に達すると、それ以降作成される PreparedStatement オブジェクトをキャッシングするスペースを確保するために、「earlier used are the first to go (先入れ先出し)」アルゴリズムを適用します。

● タイプ 4 ドライバーは、実行時または再利用時に有効な SQL CONTROL ステートメントが、SQL/MX コンパイル時にも有効であるという前提に基づいています。この条件が満たされない場合、PreparedStatement オブジェクトを再利用すると、予期しない動作が発生する原因になります。

● ステートメントプーリングによるパフォーマンス向上を目的に、SQL/MX の再コンパイルは行わないでください。SQL/MX エグゼキューターは、一定の条件が満たされた時点で、クエリを自動的に再コンパイルします。以下に、条件の一部を示します。

❍ テーブルの再定義のタイムスタンプが、実行時のバージョンとコンパイル時のバージョンで異なる場合。

❍ テーブルに対する既存のオープン操作が、DDL または SQL ユーティリティの操作によって削除された場合。

❍ トランザクション分類のレベルとアクセスモードが、実行時とコンパイル時で異なる場合。

SQL/MX の再コンパイルについては、『SQL/MX プログラミング・マニュアル C および COBOL 言語用 1.5』または『SQL/MX

Programming Manual for Java』を参照してください。

● クエリを再コンパイルすると、SQL/MX エグゼキューターは再コンパイルされたクエリを格納します。したがって、上記の条件のいずれかが満たされない限り、クエリの再コンパイルは 1 回のみとなります。

● タイプ 4 ドライバーは、CallableStatement オブジェクトを、PreparedStatement オブジェクトと同じ方法 (ステートメントプーリングが有効な場合) でプールします。

● タイプ 4 ドライバーは、Statement オブジェクトをキャッシングしません。

スレッドセーフな SQL/MX アクセス

タイプ 4 ドライバーでは、スレッドセーフであることを保証するために、API レイヤークラスはインスタンス固有のオブジェクトとして実装されます。

● SQLMXDataSource.getConnection() は、接続を取得する際にスレッドセーフであることを保証するために、同期したメソッドとして実装されます。

● 接続が確立されると、接続オブジェクトはインスタンス固有になります。

● 1 つの接続に含まれる複数のスレッドで複数のステートメントが実行されている場合は、ステートメントオブジェクトを直列化することよってデータ破壊を防止します。

「Update ... Where Current of」操作update ... where current of cursor SQL ステートメントの実行時、ResultSet のフェッチサイズは 1 でなければなりません。

フェッチサイズが 1 を超える場合、update ... where current 操作の結果は、次のいずれかになります。

● ローに誤りがある場合は、実際のカーソル位置に基づいて更新されます。

● 更新対象のカーソルが既にクローズされている可能性もあるため、SQLException が発生することがあります。

注意:

フェッチサイズのデフォルト値は 1 です。

次に、結果セットのフェッチサイズを 1 に設定し、update ... where current of cursor SQL ステートメントを実行する例を示します。

ResultSet rs; ... rs.setFetchSize(1); String st1 = rs.getCursorName(); Statement stmt2 = connection.createStatement( ResultSet.TYPE_FORWARD_ONLY , ResultSet.CONCUR_UPDATABLE ); stmt2.executeUpdate("UPDATE cat2.sch2.table1 set j = 'update row' WHERE CURRENT OF " + st1);

国際化 (I18N) のサポート

文字列リテラルをアプリケーションで使用するケース文字セットのプロパティを使用した文字列リテラル変換の制御固定長文字カラムに対するパディングのトリミングエラーメッセージとステータスメッセージのローカライズ

文字列リテラルをアプリケーションで使用するケースドライバーでの国際化のサポートは、文字リテラルの処理方法に影響を与えます。タイプ 4 ドライバーが文字リテラルを処理するケースには、次の 2 つがあります。

● ドライバーが SQL ステートメントを処理する場合。次に例を示します。

Statement stmt = conection.getStatement(); stmt.execute(“select * from table1 where col1 = ‘abcd’”);

● ドライバーが JDBC パラメーターを処理する場合。次に例を示します。

PreparedStatement pStmt = connection.prepareStatement(“select * from table1 where col1 = ?”); pStmt.setString(1, “abcd”);

SQL/MX エンジンで処理できるように文字列リテラルを Java 文字セットからバイト配列へ変換する際、タイプ 4 ドライバーは、データベースに含まれるカラムデータ型と文字セットを使用します。カラムデータ型と文字セットについては、『SQL/MX リファレンス・マニュアル』を参照してください。

文字セットのプロパティを使用した文字列リテラル変換の制御

タイプ 4 ドライバーは、文字セットのマッピングプロパティを提供します。このプロパティを使用することで、内部 SQL/MX データベースの文字セット形式と、Java 文字列の Unicode (UnicodeBigUnmarked) エンコーディングの間の変換を明示的に定義できます。

タイプ 4 ドライバーは、次のキー値を使用して、文字セットのマッピングプロパティを提供します。

キー デフォルト値ISO88591 ISO88591_1

KANJI SJIS

KSC5601 EUC_KR

次の表では、SQL/MX でサポートされる文字セットの説明をまとめています。

表 3.1 SQL/MX 文字セットと Java エンコーディングセットの対比

SQL/MX 文字セット Java エンコーディングセット — java.io および java.lang API 向けの正規名 説明

ISO88591 ISO88591_1シングルバイトの 8 ビット文字セットであり、文字データ型です。ISO88591 は、英語や西ヨーロッパ言語をサポートします。

KANJI SJIS

マルチバイトの文字セットであり、日本製メインフレームで広く使用されています。KANJI は、シングルバイト文字セットとダブルバイト文字セット向けに構成されています。シフト JIS (ダブルバイト文字の部分) のサブセットです。KANJI エンコーディングは、ビッグエンディアンです。注意: KAJNI は、SQL/MP テーブルのみでサポートされています。

KSC5601 EUC_KR

韓国の政府期間や銀行が使用するシステム上で必要となるダブルバイト文字セットです。KSC5601 のエンコーディングは、ビッグエンディアンです。注意: KSC5601 は、SQL/MP テーブルのみでサポートされています。

上記のプロパティの詳細については、「ISO88591プロパティ」、「KANJI プロパティ」、「KSC5061 プロパティ」を参照してください。

文字セットプロパティの使用java.sql.PreparedStatement クラスには、setString() メソッドと setCharacterStream() メソッドが含まれます。このメソッドは、それぞれ String パラメーターと Reader パラメーターをとります。

java.sql.ResultSet クラスには、getString() メソッドと getCharacterStream() メソッドが含まれます。このメソッドは、それぞれ

String パラメーターと Reader パラメーターを返します。

カラムの取得String としてカラムを取得する場合 (たとえば、getString() メソッドまたは getCharacterStream メソッドをコール)、タイプ 4 ドライバーは、文字セットのマッピングプロパティキーを使用して String オブジェクトをインスタンス化します (キーはカラムの文字セットに対応)。たとえば、次の SQL create table ステートメントは、ISO88591 カラムを持つテーブルを作成します。

create table t1 (c1 char(20) character set ISO88591)

JDBC プログラムは、次の java コマンドを使って ISO88591 プロパティを設定し、getString() メソッドを発行します。

java –Dt4sqlmx.ISO88591=SJIS test1.java // The following method invocation returns a String object, which// was created using the “SJIS” Java canonical name as the charset // parameter to the String constructor.String s1 = rs.getString(1); // get column 1 as a String

パラメーターの設定String を使用してパラメーターを設定すると (たとえば、setString() メソッドをコール)、タイプ 4 ドライバーは、String の内部表記を生成する際にキーの値を使用します。String getBytes メソッドに対する文字セットパラメーターは、カラムの文字セットに対応する Java 正規名です。

たとえば、次の SQL create table ステートメントは、ISO88591 カラムを持つテーブルを作成します。

create table t1 (c1 char(20) character set ISO88591); > java –DISO88591=SJIS test1.java

次のメソッドを呼び出すと、stmt のカラム 1 が文字列 “abcd” に設定されます。“abcd” は、SJIS としてエンコードされます。String

getBytes メソッドの文字セットパラメーターは、SJIS です。

stmt.setString(1, “abcd”);

例外処理の制御translationVerification プロパティによって、ドライバーが SQL パラメーターの全部または一部を変換できない場合の動作を明示的に定義できます。プロパティの値は、TRUE または FALSE です。(デフォルト値は FALSE です。)

translationVerification プロパティの値が FALSE で、ドライバーが SQL ステートメントの全部または一部を変換できない場合、変換は不定となります。ほとんどの場合、変換不能な文字は、ISO88591 のシングルバイトの疑問符 (‘?’ つまり 0x3F) としてエンコードされます。例外や警告はスローされません。

translationVerification プロパティの値が TRUE で、ドライバーが SQL ステートメントの全部または一部を変換できない場合、ドライバーは、次のテキストで SQLException をスローします。

Translation of parameter to {0} failed. Cause: {1}

{0} はターゲット文字セット、{1} は変換できなかった理由を示します。

詳細については、「translationVerification プロパティ」を参照してください。

固定長文字カラムに対するパディングのトリミングSQL/MP テーブルでは、KANJI 文字セットや KSC5601 文字セットを使用する固定長文字カラムの場合、取得した値が入力可能な値よりも長いことがあります。この節では次の内容について説明します。

● 固定長文字項目を含むローに値を再入力する方法

● パディングによって長さに差異が発生するケース

ほとんどの場合 (デフォルトの Kanji=SJIS プロパティのキー値を設定する場合など)、パディング文字の挿入や選択でエラーが発生することはありません。

ここでは、SQL/MP テーブルでの文字セットの操作に関する高度なトピックについて説明します。

固定長文字項目が格納されたローに再入力する方法注意:

SQL/MP テーブル内にあるダブルバイト固定長 (KANJI や KSC5601) カラムの場合、取得した文字列の長さが正しくない可能性があります。パディング文字の数は、予想よりも多くなる場合があります。

長さの問題を回避するには、ローの末尾にある空白文字をトリミングしてから再入力し、その後で setString() メソッドをコールする必要があります。

パディング文字によって長さに差異が発生するケース固定長 CHAR カラムを含む SQL/MP テーブルでは、パディング文字に ASCII スペース文字 (0x20) を使用します。ダブルバイト文字のカラム

(KANJI および KSC5601) には、パディング文字として ASCII スペース文字を 2 つ (0x2020) 使用します。UCS2 は、UCS2 スペース 1 つ

(0x0020) をパディング文字として使用します。

0x2020 文字は、Kanji 文字セットでは不正な文字ですが、SJIS 文字セットでは正しい 2 つの文字 (スペース 2 つ) です。ほとんどの場合 (デフォルトの Kanji=SJIS プロパティのキー値を設定する場合など)、パディング文字の挿入や選択でエラーが発生することはありません。

たとえば、CHAR(6) character set KANJI として定義されているカラムを持つテーブルに挿入を行う擬似コードは、次のように動作します。

byte b1 = new byte[4];b1[0] = 0x83; ¥___ Katakana letter Ab1[1] = 0x41; /b1[2] = 0x83; ¥___ Katakana letter small ib1[3] = 0x42; /String k1 = new String(b1, “SJIS”);

内部的に、JVM は k1 を UCS2 として 4 オクテット (バイト) で格納します。UCS2 エンコーディングは、次のとおりです。

0x30 0xA2 0x30 0xA3

SQL insert ステートメントがプリペアされます。

pStmt = conn.PrearedStatement(“insert into t1 values (?)”);

ステートメントパラメーターは、文字列に設定されます。

pStmt.setString(1, k1);

内部的に、タイプ 4 ドライバーは、次の擬似コードを使ってバイト配列を作成します。

byte inB = k1.getBytes(“SJIS”);int colLen = 12; // i.e. the length of the column (6) times the max length of each character (2)int padLen = colLen – inB.length; // inB.length = 4 (2 characters times 2 bytes per character)inB = inB + 0x20 for padLen bytes;

その結果、次の 16 進数のパターンが挿入されます。

0x83 0x42 0x83 0x42 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

挿入されたローを選択すると、問題が発生する可能性があります。挿入されたローを選択して getString() メソッドをコールすると、結果の文字列と元の文字列が一致しなくなります。次に例を示します。

rs = pStmt.executeQuery(“Select c1 from t1”);rs.getString(1);

内部的には、タイプ 4 ドライバーは次の擬似コードを使って文字列を作成します。

byte[] outB1 = getColumn1(); //

getColumn1() は、次に示す格納されたバイトを返します。

0x83 0x42 0x83 0x42 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20

ドライバーは、String オブジェクトを作成します。

String s1 = new String(outB1, “SJIS”);

結果の String オブジェクトは、次の UCS2 エンコーディングになります。

0x30 0xA2 0x30 0xA3 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20 0x00 0x20

結果として得られる文字列は 10 文字です (2 文字の後に、8 つの UCS2 スペース)。この長さは、カラム長の 6 文字よりも 4 文字分長くなります。

エラーメッセージとステータスメッセージのローカライズタイプ 4 ドライバーは、ローカライズされたエラーメッセージとステータスメッセージのリソースバンドルにより、国際化をサポートします。ドライバーは、プロパティファイル内の静的な文字列セットを使用して、エラーメッセージやステータスメッセージをテキスト表記にマッピングします。

ローカライズされたメッセージファイルのファイル名の形式メッセージが格納されたプロパティファイルの名前は、次の形式で指定する必要があります。

SQLMXMessages_xx.properties

xx は、ロケール名です。ロケール名は、現在のデフォルトのロケールまたは language プロパティで定義されます。

タイプ 4 ドライバーには、エラーメッセージとステータスメッセージのステータスファイルが付属します。このファイルには、英語ロケール用のエラーメッセージとステータスメッセージのテキスト表記が格納されています。ファイル名は、SQLMXMessages_en.properties です。

ローカライズされたメッセージ文字列の形式ローカライズされたメッセージファイルには、次の形式で文字列が格納されています。

message=message_text

次に例を示します。

driver_err_error_from_server_msg=An error was returned from the server. Error: {0} Error detail: {1}

message は、driver_err_error_from_server_msg です。message_text は、次を示します。An error was returned from the

server. Error: {0} Error detail: {1}

message_text の {n} (n は、1、2、3 など) はプレースホルダーであり、実行時にタイプ 4 ドライバーが値を提供します。変換を行うには、プレースホルダーを指定する必要があります。

ローカライズされたメッセージファイルの作成手順

1. SQLMXMesseges_en.properties ファイルを抽出します。これは、t4sqlmx.jar ファイル内に格納されています。たとえば、UNIX プロンプトから、jar Java ツールを使用します。

jar -x SQLMXMessages_en.properties < t4sqlmx.jar

2. ファイルをコピーします。

3. 英語のテキストを、ロケールに合わせて編集します。

4. ファイルを保存します。「ローカライズされたメッセージファイルのファイル名の形式」の条件に従ってファイル名を付けてください。

5. JDBC アプリケーションを実行するクラスパスにある任意のディレクトリに、ファイルを格納します。

新しいメッセージファイルは、ユーザーアプリケーションを実行するクラスパス内であれば、どのディレクトリにも格納できます。

ドライバーは、実行時にメッセージプロパティファイルを読み取ることができない場合、プロパティの message 部分をメッセージテキストとして使用します。メッセージ部分の詳細については、「ローカライズされたメッセージ文字列の形式」を参照してください。

戻る 上へ 進む第 2 章 タイプ 4 ドライバーのインストールと確認 ホーム 第 4 章 タイプ 4 ドライバーのプロパティ

マニュアル番号 529651-006J Legal Notice

第 4 章 タイプ 4 ドライバーのプロパティ戻る 進む

第4 章 タイプ 4 ドライバーのプロパティタイプ 4 ドライバーのプロパティの要約

クライアントサイドのプロパティサーバーサイドのプロパティ

JDBC タイプ 4 プロパティの指定方法プロパティの設定方法プロパティファイルの作成と使用コマンド行でのプロパティの設定プロパティ指定の優先順位

タイプ 4 ドライバープロパティの説明blobTableName プロパティcatalog プロパティclobTableName プロパティcloseConnectionUponQueryTimeoutconnectionTimeout プロパティdataSourceName プロパティdescription プロパティinitialPoolSize プロパティISO88591 プロパティKANJI プロパティKSC5601 プロパティlanguage プロパティLOB テーブル名プロパティloginTimeout プロパティmaxIdleTime プロパティmaxPoolSize プロパティmaxStatements プロパティminPoolSize プロパティnetworkTimeout プロパティpassword プロパティproperties プロパティreserveDataLocators プロパティroundingMode プロパティschema プロパティserverDataSource プロパティT4LogFile プロパティT4LogLevel プロパティtranslationVerification プロパティurl プロパティ useArrayBinding プロパティuser プロパティ

タイプ 4 ドライバーのプロパティの要約

クライアントサイドのプロパティサーバーサイドのプロパティ

次の表は、クライアントサイドとサーバーサイドで使用するタイプ 4 ドライバーのプロパティをまとめたものです。プロパティ名のリンクをクリックすると、詳細な説明が表示されます。

注意:

特に記載がない場合、各プロパティは DataSource オブジェクト、DriverManager オブジェクト、ConnectionPoolDataSource オブジェクトに適用されます。

クライアントサイドのプロパティ

表 4.1 接続制御プロパティ

プロパティ名 説明 デフォルト値

dataSourceName 登録された DataSource 名または ConnectionPoolDataSource 名を指定します。(DriverManager オブジェクトのみで設定可能) なし

loginTimeout 接続を試行できる制限時間であり、接続が切断されるまでの時間を設定します。 60 (秒)

networkTimeout ドライバーが、データベースサーバーからの応答を待機する制限時間を設定します。

0 (ネットワークタイムアウトの指定なし)

表 4.2 プーリング管理プロパティ

プロパティ名 説明 デフォルト値

initialPoolSize

タイプ 4 ドライバーで接続プーリングを使用する場合の、初期接続プールのサイズを設定します。(ConnectionPoolDataSource オブジェクトで接続を確立した場合は無視されます)

-1 (初期接続プールを作成しない)

maxIdleTime 物理接続を閉じるまでに、その接続がプール内で使用されない状態を持続できる時間を秒数で設定します。 0 (制限なし)

maxPoolSize プール内に保持できる物理接続の最大数を設定します。 -1 (接続プールを無効化)

maxStatements接続プールがキャッシュに格納する PreparedStatement オブジェクトの合計数を設定します。

0 (ステートメントプールを無効化)

minPoolSize 空き接続プール内で保持できる物理接続の数を制限します。

-1 (minPoolSize の値を無視)

表 4.3 CLOB データおよび BLOB データの操作

プロパティ名 説明 デフォルト値

blobTableName BLOB カラムを使用する LOB テーブルを指定します。 なしclobTableName CLOB カラムを使用する LOB テーブルを指定します。 なし

reserveDataLocators LOB テーブルにデータを格納するプロセス用に予約される、データロケーターの数を設定します。 100

表 4.4 国際化プロパティ

プロパティ名 説明 デフォルト値

ISO88591SQL/MX ISO88591 文字セットに対応する文字セットのマッピングを設定します。

ISO88591_1

KANJISQL/MX KANJI 文字セットに対応する文字セットのマッピングを設定します。

SJIS (シフト JIS、日本語)

KSC5601SQL/MX KSC5601 文字セットに対応する文字セットのマッピングを設定します。

ECU_KR (KS C 5601、ECU エンコーディング、韓国語)

language エラーメッセージに使用する言語を設定します。 なし

translationVerification

ドライバーが SQL ステートメントまたは SQL パラメーターの全部または一部を変換できない場合の、ドライバーの動作を定義します。

FALSE

表 4.5 ログとトレースのプロパティ

プロパティ名 説明 デフォルト値

T4LogFile タイプ 4 ドライバーで使用するログファイルの名前を設定します。

ファイル名は、次のパターンで定義されます。

%h/t4sqlmx%u.log

T4LogLevel タイプ 4 ドライバーのログ出力を制御するログレベルを設定します。 OFF

表 4.6 クライアントサイドのその他プロパティ

プロパティ名 説明 デフォルト値説明 登録済みのソース名を指定します。 なし

propertiesタイプ 4 ドライバーの構成に使用するキー値ペアが格納されているプロパティファイルの場所を指定します。

なし

roundingMode タイプ 4 ドライバーの丸めに関する動作を指定します。 ROUND_DOWN

closeConnectionUponQueryTimeout Statement.setQueryTimeout() の実行時の JDBC ドライバーの動作を指定します。 DEFAULT

サーバーサイドのプロパティ次の表は、サーバーサイドで使用するタイプ 4 ドライバーのプロパティをまとめたものです。特に記載がない場合、各プロパティは DataSource オブジェクト、DriverManager オブジェクト、ConnectionPoolDataSource オブジェクトに適用されます。

表 4.7 タイプ 4 ドライバーのサーバーサイドのプロパティ

プロパティ名 説明 デフォルト値

catalog

SQL ステートメントによる SQL オブジェクトの参照で、その SQL オブジェクトが完全には修飾されていない場合、オブジェクトへのアクセスに使用するデフォルトのカタログを設定します。

なし

connectionTimeoutMXCS が物理的に接続を閉じる前に、接続がアイドル状態を持続できる時間を秒数で設定します。

-1 (MXCS サーバーデータソースで設定された ConnTimeout 値を使用)

Password MXCS に対する Guardian パスワードの値を設定します。 空白文字列

schema

SQL ステートメントによる SQL オブジェクトの参照で、その SQL オブジェクトが完全には修飾されていない場合、オブジェクトへのアクセスに使用するデータベーススキーマを設定します。

なし

serverDataSourceMXCS サーバーサイドにあるデータソース (HP NonStop サーバー上) の名前を設定します。

なし (この値は、サーバーデータソースのデフォルト値として使用される)

urlMXCS Association Server の URL 値を設定します。DriverManager オブジェクトのみで設定可能です。

なし

useArrayBinding

SELECT ステートメントと INSERT ステートメントのパフォーマンスが向上します。これは、サーバーサイドのプロパティです。

False

user MXCS Association Server の URL 値を設定します。 なし

JDBC タイプ 4 プロパティの指定方法

プロパティの設定方法プロパティファイルの作成と使用コマンド行でのプロパティの設定プロパティ指定の優先順位

タイプ 4 JDBC ドライバーのプロパティは、ドライバーの構成に使用されます。このプロパティは、データソース、接続 URL、プロパティファイル、java コマンド行で指定できます。

Java プロパティは、key=value という形式です。

実行時、ドライバーはプロパティキーのセットを検索し、その値に基づいて動作します。

プロパティを設定する場所

● DataSource または ConnectionPoolDataSource を使用して接続を確立した場合、DataSource オブジェクトまたは ConnectionPoolDataSource オブジェクトでプロパティを設定します。

● DriverManager クラスについては、次の 2 つの方法のいずれかでプロパティを設定します。

❍ コマンド行で -Dproperty_name=property_value オプションを使用する方法

❍ DriverManager クラスの getConnection() メソッドで java.util.

Properties パラメーターを使用する方法

プロパティファイルの作成と使用JDBC アプリケーションは、JDBC ドライバーのプロパティが格納されたファイルを使用して、接続の構成が可能なプロパティ値を提供します。このプロパティファイルは、java コマンド行パラメーターとして渡されます。プロパティファイルは、次の形式でコマンド行に入力します。

-Dt4sqlmx.properties=location_of_the_properties_file_on_disk

次に例を示します。

-Dt4sqlmx.properties=C:¥temp¥t4props

ファイルを作成するには、ワークステーション上でエディターを実行し、プロパティ値を入力します。プロパティファイルへの入力は、次に示すように、プロパティ名とプロパティ値を等号で結合した形式 (property_name=property_value) で行います。

property_name=property_value

例: maxStatements=1024

DataSource 接続を構成するには、次のように、プロパティ名とプロパティ値が格納されたプロパティファイルを使用します。

url=jdbc:t4sqlmx://mynode.mycompanynetwork.net:port_number/user=NSK_username password=mypassword description=a string catalog=sampcat schema=myschema maxPoolSize=20 minPoolSize=5 maxStatements=20loginTimeout=15initialPoolSize=10

connectionTimeout=10 serverDataSource=MXCS_server_data_source T4LogLevel=OFF T4LogFile=/mylogdirectory/mylogfile

コマンド行でのプロパティの設定タイプ 4 ドライバーのプロパティを java -D オプションを使ってコマンド行から指定する場合、プロパティには次のプレフィックスを指定する必要があります。

t4sqlmx.

この表記方法にはピリオド (.) が含まれています。これにより、すべてのタイプ 4 ドライバーのプロパティ名が Java アプリケーションに対して一意に識別されます。たとえば、maxStatements プロパティは次のようになります。

-Dt4sqlmx.maxStatements=10

プロパティ指定の優先順位1 つのプロパティがアプリケーションによって複数の方法で設定されている場合、設定値は次に示す順序で適用されます。

1. DataSource オブジェクト、DriverManager オブジェクト、ConnectionPoolDataSource オブジェクトのいずれかで設定された値。

2. DriverManager クラスの getConnection メソッドで java.util.Properties パラメーターを使って設定された値。

3. t4sqlmx.properties プロパティで指定されたプロパティファイルに含まれる設定値。

4. java コマンド行で設定された –Dt4sqlmx.property_name=property_value。

ドライバーマネージャーで使用するプロパティのさまざまな設定方法については、「優先順位」を参照してください。

タイプ 4 ドライバーのプロパティの説明

blobTableName プロパティcatalog プロパティclobTableName プロパティconnectionTimeout プロパティ closeConnectionUponQueryTimeoutdataSourceName プロパティdescription プロパティinitialPoolSize プロパティISO88591 プロパティKANJI プロパティ

KSC5601 プロパティlanguage プロパティLOB テーブル名プロパティloginTimeout プロパティmaxIdleTime プロパティmaxPoolSize プロパティmaxStatements プロパティminPoolSize プロパティnetworkTimeout プロパティpassword プロパティproperties プロパティreserveDataLocators プロパティroundingMode プロパティschema プロパティserverDataSource プロパティT4LogFile プロパティT4LogLevel プロパティtranslationVerification プロパティurl プロパティ useArrayBinding プロパティuser プロパティ

ここでは、プロパティをアルファベット順に (LOB テーブル名プロパティを除く) 説明します。

blobTableName プロパティ「LOB テーブル名プロパティ」を参照してください。

catalog プロパティSQL ステートメントによる SQL オブジェクトの参照で、その SQL オブジェクトが完全には修飾されていない場合、オブジェクトへのアクセスに使用するデフォルトのカタログを設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: なし

次の例は、カタログ samdcat を指定しています。

catalog=samdcat

clobTableName プロパティ「LOB テーブル名プロパティ」を参照してください。

closeConnectionUponQueryTimeout プロパティcloseConnectionUponQueryTimeout プロパティは、Statement.setQueryTimeout() の実行時の JDBC ドライバーの動作を指定します。

closeConnectionUponQueryTimeout プロパティに設定できる値は、IGNORE と DEFAULT です。

これ以外の値を指定した場合、DEFAULT に設定されます。

JDBC ドライバーは、設定された値に基づいて動作します。次に、プロパティの値に IGNORE または

DEFAULT を設定した場合の JDBC ドライバーの動作を説明します。

IGNORE = Statement.setQueryTimeout() をコールして設定した値 (0 よりも大きい値) は無効になります。Statement は、そのステートメントが実行されるまでの間、現在のスレッドをブロックします。

DEFAULT = プロパティが指定されない場合、この値が設定されます。このプロパティに DEFAULT

を設定した状態で、Statement.setQueryTimeout() をコールして 0 より大きい値を設定すると、SQLException が発生します。

次の例では、プロパティに IGNORE を設定しています。

closeConnectionUponQueryTimeout=IGNORE

connectionTimeout プロパティconnectionTimeout プロパティは、MXCS が接続を物理的に閉じるまでに、その接続がアイドル状態を持続できる時間を秒数で設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: 秒

デフォルト: -1 (MXCS サーバーデータソースで設定されている ConnTimeout 値を使用)

範囲: -1、0~2147483647

● 0 (ゼロ) を指定すると、タイムアウト値は無限大になります。

● ゼロ以外の正の値を指定すると、MXCS 設定で許可される値であれば、MXCS サーバーデータソース上で設定されている値が上書きされます。詳細については、『SQL/MX Connectivity

Server Manual』を参照してください。

● 負の値は、-1 として処理されます。

たとえば、次のようなシナリオを考えてみましょう。接続は、使用されていない状態でもリソースを消費します。アプリケーションは、接続の使用後、接続を破棄するだけで、物理的に閉じることはありません。しかし、connectionTimeout プロパティを設定することにより、300 秒経過した時点で接続

を自動的に閉じるように設定できます。接続が参照されない状態で 300 秒が経過すると、接続は自動的に閉じます。この場合、connectionTimeout プロパティを次のように設定します。

connectionTimeout=300

dataSourceName プロパティdataSourceName プロパティは、登録済みの DataSource 名または

ConnectionPoolDataSource 名を指定します。

このプロパティは、DataSource オブジェクトで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: なし

例: dataSourceName=myDataSource

description プロパティdescription プロパティは、登録済みのソース名を指定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: なし

値には、有効な一意名を指定できます。

initialPoolSize プロパティinitialPoolSize プロパティは、タイプ 4 ドライバーで接続プーリングを使用する場合の初期接続プールのサイズを設定します。

このプロパティは、DataSource オブジェクトまたは DriverManager オブジェクトで設定します。ConnectionPoolDataSource オブジェクトを使って作成した接続では、このプロパティは無視されます。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

最初の接続が要求されると、ドライバーは、各接続プールに n 個の接続を作成します (n は

initialPoolSize)。たとえば、initialPoolSize がデータソースあたり 5 に設定されている場合、アプリケーションがデータソースの getConnection() メソッドを最初にコールした時点で、5

つの接続を作成しプールします。

データ型: int

単位: 物理接続の数

デフォルト: -1 (初期接続プールを作成しない)

範囲: -1~maxPoolSize

● 負の値は、-1 として処理されます。

● minPoolSize より小さい値は指定できますが、maxPoolSize を超える値は指定できません。maxPoolSize より大きな値を指定した場合は、maxPoolSize プロパティ値が使用されます。

例: initialPoolSize=10

ISO88591 プロパティISO88591 文字セットのマッピングプロパティは、SQL/MX ISO88591 文字セットに対応しています。ISO88591 文字セットは、文字データ型用のシングルバイトの 8 ビット文字セットです。このプロパティは、英語や西ヨーロッパ言語をサポートします。詳細については、「国際化 (I18N) のサポート」を参照してください。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: ISO88591_1

プロパティ値には、Sun のドキュメント『Supported Encodings』(http://java.sun.com/j2se/1.4.2/docs/

guide/intl/encoding.doc.html) の「Canonical Name for java.io and java.lang API」に記載されている

Java 正規名を指定できます。

KANJI プロパティKANJI 文字セットのマッピングプロパティは、SQL/MX KANJI 文字セットに対応しています。この文字セットは、日本製メインフレームで広く使用されているダブルバイト文字セットです。このプロパティは、シフト JIS のサブセット (ダブルバイト文字の部分) です。このプロパティのエンコーディングは、ビッグエンディアンです。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: SJIS (シフト JIS、日本語)

例: java –Dt4sqlmx.KANJI=SJIS

詳細については、「国際化 (I18N) のサポート」を参照してください。

KSC5601 プロパティKSC5601 文字セットのマッピングプロパティは、SQL/MX KSC5601 文字セットに対応するものです。この文字セットは、ダブルバイト文字セットです。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: ECU_KR (KSC5601、ECU エンコーディング、韓国語)

プロパティ値には、Sun のドキュメント『Supported Encodings』(http://java.sun.com/j2se/1.4.2/docs/

guide/intl/encoding.doc.html) の「Canonical Name for java.io and java.lang API」に記載されている

Java 正規名を指定できます。

次に例を示します。

java –Dt4sqlmx.KSC5601=ECU_KR

詳細については、「国際化 (I18N) のサポート」を参照してください。

language プロパティlanguage プロパティは、エラーメッセージ用の言語を設定します。このプロパティの使用方法の詳細については、「エラーメッセージとステータスメッセージのローカライズ」を参照してください。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: なし

プロパティ値には、Sun のドキュメント『Supported Encodings』(http://java.sun.com/j2se/1.4.2/docs/

guide/intl/encoding.doc.html) の「Canonical Name for java.io and java.lang API」に記載されている

Java 正規名を指定できます。

次の例では、言語にシフト JIS (日本語) を設定しています。

language=SJIS

LOB テーブル名プロパティLOB テーブルは、BLOB カラムと CLOB カラム用のデータを格納します。次のプロパティは、BLOB カラムや CLOB カラムを使用するように、LOB テーブルを指定します。

● BLOB カラム用のバイナリデータ

blobTableName

● CLOB カラム用の文字データ

clobTableName

プロパティ値は、次の形式で指定します。

catalog_name.schema_name.lob_table_name

データ型: String

デフォルト: なし

次に例を示します。

blobTableName=samdbcat.sales.lobvideo

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

loginTimeout プロパティloginTimeout プロパティは、接続を試行できる制限時間であり、接続が切断されるまでの時間を設定します。接続の試行時間が設定値を超えると、接続は切断されます。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: 秒

デフォルト: 60

範囲: 0~java.lang.Short.MAX_VALUE (32767)

0 (ゼロ) に設定すると、ログインタイムアウトは未設定になります。330000 など、範囲外の値を設定

すると、次のエラーメッセージが表示されます。

Invalid connection property setting: Provided LoginTimeout property value

33000 is invalid and should be less than Short.MAX_VALUE(32767).

maxIdleTime プロパティ注意:

maxIdleTime プロパティは、V11^AAC およびそれ以上の Software Product

Releases (SPR) で提供されています。

maxIdleTime プロパティは、物理接続を閉じるまでに、その接続がプール内で使用されない状態を持続できる時間を秒数で指定します。0 (ゼロ) を指定すると、アイドル時間に上限がなくなります。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: 秒

デフォルト: 0 (タイムアウトなし)

範囲: 0~2147483647

負の値は 0 (ゼロ) として処理されます。0 は、時間の制限がないことを意味します。

次の例では、最大アイドル時間を 5 分 (300 秒) に設定しています。

java –Dt4sqlmx.maxIdleTime=300

maxPoolSize プロパティmaxPoolSize プロパティは、プール内に保持できる物理接続の最大数を設定します。接続の数には、空き接続と使用中の接続の両方が含まれます。物理接続の数が最大数に達すると、タイプ 4 ドライバーは SQLException をスローし、次のメッセージを送信します。Maximum pool size is

reached.

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: 物理接続の数

デフォルト: -1 (接続プールを無効化)

範囲: -1、0~2147483647 (ただし minPoolSize より大きい値)

この値によって、接続プールの使用が次のように指定されます。

負の値は、-1 として処理されます。0 (ゼロ) を指定すると、最大プールサイズは設定されません。-1 を設定すると、接続プーリングは無効になります。minPoolSize より小さい正の値を指定すると、値は minPoolSize 値に変更されます。

maxStatements プロパティmaxStatements プロパティは、接続プールがキャッシュに格納する PreparedStatement オブジェクトの最大数を設定します。この最大数には、空きオブジェクトと使用中のオブジェクトの両方が含まれます。NonStop タイプ 4 ドライバー側キャッシュは、Most Frequently Used (MFU) アルゴリズムを使用します。キャッシュ内の PreparedStatements の数が maxStatements プロパティ値を超えると、使用頻度が最も低い PreparedStatement を閉じてステートメントキャッシュから削除することによって、新しいステートメント用のスペースを確保します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: オブジェクトの数

デフォルト: 0 (ステートメントプールを無効化)

範囲: 0~2147483647

0 (ゼロ) を指定すると、ステートメントプーリングは無効になります。負の値は、0 (ゼロ) として処理されます。

パフォーマンスに関するヒント: HP は、JDBC アプリケーションでステートメントプーリングを有効にすることをお勧めします。ステートメントプーリングにより、多くのアプリケーションのパフォーマンスが格段に向上します。

たとえば、ステートメントプーリングを指定するには、次のように入力します。maxStatements=10

プリペア済みステートメントキャッシュアルゴリズムには、更新が加えられています。プリペアされた各 SQL ステートメントに、1 から始まる数値が割り当てられます。割り当てられた数値は、ステートメントがプリペアされるたびにインクリメントされます。この数値に基づいて、T4 ドライバーキャッシュから削除すべきプリペア済みステートメントが選択されます。まず、キャッシュ内に存在するプリペア済みステートメントの中で、使用されていないものが選択され、あらかじめ割り当てられた数値の順にソートされます。次に、数値が最も小さいプリペア済みステートメントがキャッシュから削除されます。

minPoolSize プロパティminPoolSize プロパティは、空き接続プール内に保持できる物理接続の数を制限します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、

DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

デフォルト: -1 (minPoolSize 値を無視)

範囲: -1、0~n (ただしmaxPoolSize より小さい値)

負の値は、-1 として処理されます。maxPoolSize より大きい値を指定すると、プロパティ値は

maxPoolSize 値に変更されます。maxPoolSize が -1 の場合、minPoolSize は -1 に設定されます。この値によって、接続プールの使用が次のように指定されます。

● 空きプール内の物理接続の数が minPoolSize の値になった時点で、タイプ 4 ドライバーはそれ以降の接続を物理的に閉じ、空きプールには追加しません。

● 0 (ゼロ) を指定すると、接続は物理的に閉じません。閉じた接続は、必ず空きプールに追加されます。

たとえば、次の例のように minPoolSize 値を 1 に設定すると、1 つの接続が必ず残ることになります。

minPoolSize=1

networkTimeout プロパティnetworkTimeout プロパティは、ドライバーが、データベースサーバーからの応答を待機する時間の制限を設定します。操作の試行時間が秒単位の設定値を超えると、ドライバーは応答待機を中断し、SQLException をユーザーアプリケーションに返します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

注意:

このプロパティの使用には、注意が必要です。ネットワークタイムアウトを設定すると、タイプ 4 ドライバーと MXCS サーバー間のソケット接続がタイムアウトします。サーバーは、トランザクションや SQL 操作を実行する際、そのトランザクションや操作でエラーまたは TMF タイムアウトが発生するか、タイプ 4 ドライバークライアントの切断をサーバーが認識するまでの間、処理を継続します。ネットワークタイムアウトを指定すると、トランザクションや操作が長時間実行状態になり、フェイルバックやロールバックまでに時間がかかる場合があります。

ネットワークタイムアウトが発生すると、接続は使用不能になります。

データ型: int

単位: 秒

デフォルト: 0 (ネットワークタイムアウトの指定なし)

0~2147483647

password プロパティpassword プロパティは、MXCS に対する Guardian パスワードの値を設定します。パスワードは、暗号化された後 MXCS に渡されます。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: 空白文字列

例: password=eye0weU$s

properties プロパティproperties プロパティは、タイプ 4 ドライバー構成用のプロパティ値を指定するキー値ペアが格納されているプロパティファイルの場所を指定します。詳細については、「プロパティファイルの作成と使用」を参照してください。

reserveDataLocators プロパティreserveDataLocators プロパティは、LOB テーブルにデータを格納するプロセス用に予約するデータロケーターの数を設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: int

単位: 予約するデータロケーターの数

デフォルト: 100

範囲: 1~9,223,372,036,854,775,807 (2**63 -1)

実際に必要になるデータロケーターの数よりも過度に大きな値は指定しないでください。0 (ゼロ) 以下の値を指定すると、デフォルト値 (100) が使用されます。

reserveDataLocators プロパティの値は、実行するアプリケーションプロファイルに基づいて設定してください。アプリケーションが LOB 項目を大量に挿入する場合、reserveDataLocators プロパティを大きな値に設定することによって、LOB テーブルの ZZ_DATA_LOCATOR 値が頻繁に更新さ

れるのを防止できます。一方で、アプリケーションが挿入する LOB 項目の数が少ない場合には、小さい値をプロパティに設定する方が効率的です。大きな値を設定すると、LOB テーブル内でホール (未使用のデータロケーター番号) が発生する可能性があります。このホールは、未使用の領域です。

また、reserveDataLocators には大きな値 (数兆など) を設定しないようにしてください。大きな値を設定すると、LOB テーブルを使用する他のタイプ 4 アプリケーションがデータロケーターを予約できなくなります。

データロケーターの詳細については、「データロケーターの予約」を参照してください。

JDBC アプリケーション向けにこの値を変更するには、コマンド行を使ってプロパティを設定します。たとえば、次のコマンドは、プログラムクラス myProgramClass 用に 150 のデータロケーターを予約しています。

java –Dt4sqlmx.reserveDataLocators=150 myProgramClass

roundingMode プロパティroundingMode プロパティは、タイプ 4 ドライバーの丸めに関する動作を指定します。たとえば、データが 1234.127、カラム定義が numeric(6, 2)、アプリケーションが setDouble() および

getDouble() を実行する場合、デフォルトの丸めモード ROUND_DOWN に基づいて切捨てが行われる結果、戻り値は 1234.12 となります。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: ROUND_DOWN

roundingMode には、次の値を設定できます。

ROUND_CEILING ROUND_DOWN ROUND_FLOOR ROUND_HALF_DOWN ROUND_HALF_EVEN ROUND_HALF_UP ROUND_UNNECESSARY ROUND_UP

● 丸めモードの詳細については、http://java.sun.com/j2se/1.4.2/docs/api/index.html ページに掲載されている java.math.BigDecimal ドキュメントを参照してください。

● アプリケーションが roundingMode プロパティに誤った値を設定しても、タイプ 4 ドライバーはエラーをスローしません。この場合、ドライバーは ROUND_DOWN 値を使用します。

● データの切捨てが行われた時点で、アプリケーションが DataTruncation 例外を取得するように

するには、roundingMode プロパティに ROUND_UNNECESSARY を設定します。

● デフォルトの丸めモードである ROUND_DOWN は、JDBC/MX Type 2 ドライバーと互換性があります。

schema プロパティschema プロパティは、SQL ステートメントによって SQL オブジェクトが参照される場合、その

SQL オブジェクトが完全に修飾されていないときに、オブジェクトへのアクセスに使用するデータベーススキーマを設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: なし

例: schema=sales

serverDataSource プロパティserverDataSource プロパティは、MXCS サーバーサイドにあるデータソース (HP NonStop サーバー上) の名前を設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

serverDataSource により、アプリケーションはサーバーサイドデータソース用の SQL/MX プロパティ (リソース管理など) を設定できます。サーバーサイドデータソースの詳細については、『SQL/

MX Connectivity Service Manual』の「Server Data Sources」を参照してください。

● プロパティ値を指定しないと、デフォルトのサーバーデータソースが使用されます。

● serverDataSource で指定したデータソースが MXCS サーバーで使用できない場合は、デフォルトのサーバーデータソースが使用されます。

● serverDataSource で指定したデータソースが MXCS サーバー上で起動しない場合は、SQLException がスローされます。

データ型: String

デフォルト: None (デフォルトのサーバーデータソースとして使用)

次の例は、MXCS サーバーの serverDataSource のデフォルト値を設定しています。

serverDataSource=MyDataSource

サーバーデータソースの詳細については、『SQL/MX Connectivity Service Manual』を参照してください。

T4LogFile プロパティT4LogFile プロパティは、タイプ 4 ドライバーで使用するログファイルの名前を設定します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルトのファイル名は、次のパターンで定義されます。

%h/t4sqlmx%u.log

説明

/ は、ローカルパス名のセパレーターです。%h は、user.home システムプロパティの値です。%u は、重複のない一意の数値です。

システムで有効なファイル名であれば、任意の名前を指定できます。

ログファイルを明示的に指定すると、そのファイル名で FileHandler が確立されるたびに、ファイルは上書きされます。

作成済みのログファイルを保持するには、標準の java.util.logging ファイル構文に従って、ログファイル名の後に一意の番号を付加してください。たとえば、データソース内に次のプロパティがあるとします。

T4LogFile = C:/temp/MyLogFile%u.log

タイプ 4 ドライバーは、そのデータソースから確立された接続ごとに新しいログファイルを作成し、一意の名前を割り当てます。次に例を示します。

C:/temp/MyLogFile43289.log C:/temp/MyLogFile87634.log C:/temp/MyLogFile27794.log

完全修飾名でないログファイルを明示的に指定すると、タイプ 4 ドライバーは、現在の作業ディレクトリ (JVM が起動されたディレクトリなど) にファイルを作成します。

java.util.logging の詳細については、http://java.sun.com/j2se/1.4.2/docs/api/java/util/logging/

package-summary.html に掲載されているログ機能の要約を参照してください。

T4LogLevel プロパティT4LogLevel プロパティは、タイプ 4 ドライバーのログ出力を制御するログレベルを設定します。Java パッケージである java.util.logging は、エラーメッセージをログに記録し、トレースを実行します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: OFF

ログレベル

OFF

ログ機能をオフにする特殊なレベルです。デフォルト設定です。SEVERE

重大度の高い障害が発生したことを示します。通常、タイプ 4 ドライバーが生成する SQL 例外に対応します。

WARNING

問題が発生する可能性があることを示します。通常、タイプ 4 ドライバーが生成する SQL 警告に対応します。

INFO

通知メッセージです。通常、接続プーリング、ステートメントプーリング、リソースの使用状況に関するメッセージです。この情報は、アプリケーションパフォーマンスのチューニングで役立ちます。

CONFIG

静的な構成メッセージです。プロパティ値などタイプ 4 ドライバーの構成情報が含まれています。

FINE

タイプ 4 ドライバー API で記述されているタイプ 4 ドライバーメソッドからのトレース情報を提供します。トレースレベルは、DriverManager クラスまたは DataSource クラスの

setLogWriter() メソッドをコールするときのトレースレベルに相当します。FINER

内部的なタイプ 4 ドライバーメソッドが、詳細なトレースメッセージを提供することを示します。このメッセージは、タイプ 4 ドライバーをデバッグする際に役立ちます。

FINEST

非常に詳細なトレースメッセージを記録します。ドライバーは、タイプ 4 ドライバーのデバッグに役立つ詳細な内部データメッセージを提供します。

ALL

すべてのメッセージのログを記録します。

次の例は、トレースを有効にするために、t4sqlmx.T4LogLevel プロパティをコマンド行で指定しています。

-Dt4sqlmx.T4LogLevel=FINE

T4LogLevel に関する考慮事項

● アプリケーションが、AppServer を使用してセキュリティマネージャーを定義している場合、LoggingPermission を java.policy ファイル内で次のように割り当ててください。

permission java.util.logging.LoggingPermission "control","";

● タイプ 4 ドライバーは、プログラムの起動時に java.util.logging.FileHandler.

level 設定を継承しません。

● MXCS によるサーバーサイドのトレース機能とログ機能は NSM/web によって管理されます。サーバーサイドのトレース機能 (およびログ機能) の詳細については、NSM/web のオンラインヘルプを参照してください。

translationVerification プロパティtranslationVerification プロパティは、ドライバーが SQL ステートメントまたは SQL パラメーターの全部または一部を変換できない場合のドライバーの動作を定義します。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

設定できる値は、TRUE または FALSE です。

データ型: String

デフォルト: FALSE

translationVerification プロパティの値が FALSE で、ドライバーが SQL ステートメントの全部または一部を変換できない場合、変換結果は不定となります。ほとんどの場合、変換不能な文字は、ISO88591 のシングルバイトの疑問符 (? つまり 0x3F) としてエンコードされます。例外や警告はスローされません。

translationVerification プロパティの値が TRUE で、ドライバーが SQL ステートメントの全部または一部を変換できない場合、ドライバーは次のテキストを使って SQLException をスローします。

{0} に対するパラメーターの変換に失敗しました。原因: {1}

{0} はターゲット文字セット、{1} は変換できなかった理由を示します。

translationVerification プロパティを TRUE に設定すると、プロセスが使用するシステムリソー

スが大幅に増大します。パフォーマンスを向上するためには、このプロパティに FALSE を設定してください。

詳細については、「国際化 (I18N) のサポート」を参照してください。

url プロパティurl プロパティは、MXCS Association Server の URL 値を設定します。このプロパティは、DriverManager オブジェクトで使用されます。URL は、次の形式で指定されます。

jdbc:t4sqlmx//ip_address|machine_name:port_number/[:] [property=value[;property2=value]...]

ip_address|machine_name:port_number は、MXCS Association Server が稼働している場所を示します。

データ型: String

デフォルト: なし

次に例を示します。

url=jdbc:t4sqlmx://mynode.mycompanynetwork.net:18000/

url プロパティに関する考慮事項

● url パラメーターを指定しないで DriverManager.getConnection() をコールすると、タイプ 4 ドライバーは SQLException をスローします。

● URL で IPV4 または IPV6 リテラルアドレスを使用する場合は、次のガイドラインに従ってください。

❍ IPV6 の場合に限り、アドレスを括弧 ([ と ]) で囲んでください。

❍ IPV4 および IPV6 標準に基づき、ポート番号の指定はオプションです。

❍ MXCS Association Server のデフォルトのポート番号は、18650 です。

useArrayBinding プロパティuseArrayBinding プロパティを指定すると、SELECT ステートメントと INSERT ステートメントのパフォーマンスを向上できます。このプロパティに “true” を設定すると、JDBC T4 ドライバーは複数のローを MXOSRVR 間で送受信し、これによって複数のローの情報を SQL/MX との間で送受信できるようになります。このプロパティは、BULK SELECT や BULK INSERT などの操作で高い効果を発揮します。useArrayBinding プロパティは、UPDATE ステートメントと DELETE ステートメント

には影響しません。

このプロパティに設定できる値は、次の値のみです。true

false

データ型: String

デフォルト: false

次の例では、プロパティ値を true に設定しています。useArrayBinding= true

user プロパティuser プロパティは、MXCS に対する Guardian ユーザー名の値を設定します。渡される Guardian

ユーザー名には、MXCS 経由で SQL/MX データアクセスを実行できるアクセスパーミッションを割り当てておく必要があります。

このプロパティは、DataSource オブジェクト、ConnectionPoolDataSource オブジェクト、DriverManager オブジェクトのいずれかで設定します。プロパティの設定方法の詳細については、「JDBC タイプ 4 プロパティの指定方法」を参照してください。

データ型: String

デフォルト: 空白文字列

例: user=NonStopSystem_username

戻る 上へ 進む第 3 章 SQL/MX による SQL データベースへのアクセス ホーム 第 5 章 BLOB データと CLOB データ

での作業

マニュアル番号 529651-006J Legal Notice

第 5 章 BLOB データと CLOB データでの作業

戻る 進む

第 5 章 BLOB データと CLOB データでの作業LOB サポートのアーキテクチャーLOB テーブルのプロパティの設定

LOB テーブルの指定データロケーターの予約

CLOB データの格納Clob インターフェイスによる CLOB カラムの挿入CLOB カラムへの ASCII データまたは MBCS データの書き込みPreparedStatement インターフェイスによる CLOB データの挿入setClob メソッドによる Clob オブジェクトの挿入Reader による Unicode データを含む CLOB カラムの挿入CLOB カラムへの Unicode データの書き込み

CLOB データの読み取り

CLOB カラムからの ASCII データの読み取りCLOB カラムからの Unicode データの読み取り

CLOB データの更新updateClob メソッドによる Clob オブジェクトの更新Clob オブジェクトの置換

CLOB データの削除BLOB データの格納

Blob インターフェイスによる BLOB カラムの挿入BLOB カラムへのバイナリデータの書き込みPreparedStatement インターフェイスによる BLOB カラムの挿入setBlob メソッドによる Blob オブジェクトの挿入

BLOB カラムからのバイナリデータの読み取りBLOB データの更新

updateBlob メソッドによる Blob オブジェクトの更新Blob オブジェクトの置換

BLOB データの削除NULL と空の BLOB 値または空の CLOB 値Blob アクセスと Clob アクセスを含むトランザクションClob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項

本章では、JDBC アプリケーションによる BLOB データと CLOB データでの作業について説明します。JDBC 3.0 API 仕様で説明する標準インターフェイスを使用して、タイプ 4 ドライバーが提供するサポートにより、NonStop SQL/MX テーブルの BLOB データと CLOB データにアクセスできます。

BLOB と CLOB は、SQL/MX データベースのネイティブデータ型ではありません。しかし、データベース管理者は、タイプ 4 ドライバーまたは MXCI の特別な SQL 構文を使用して、BLOB カラムと CLOB

カラムを含む SQL/MX テーブルを作成できます。「LOB カラムを含む基本テーブルの作成」を参照し

てください。

管理上、CLOB データと BLOB データはラージオブジェクト (LOB) データと呼ばれており、どちらかのデータ型を表すことができます。

注意:

● Java ストアドプロシージャー (SPJ) を使用する場合は、CLOB データ型がサポートされません。

BLOB データと CLOB データを含むテーブルの作成と管理については、「BLOB データと CLOB データを含む SQL/MX テーブルの管理」を参照してください。

LOB サポートのアーキテクチャーLOB データをサポートするテーブルは次のとおりです。

基本テーブルBLOB データと CLOB データの挿入、格納、読み取り、更新を行うために、JDBC アプリケーションから参照されます。基本テーブル内では、タイプ 4 ドライバーが BLOB カラムと CLOB

カラムをデータロケーターカラムにマップします。データロケーターカラムは、LOB テーブルと呼ばれる個別のユーザーテーブルに格納された実際の LOB データをポイントします。

LOB テーブル実際に BLOB データと CLOB データがチャンクで含まれます。Clob オブジェクトまたは

Blob オブジェクトは、データロケーターで識別されます。LOB テーブルには、BLOB データを含む LOB テーブルと CLOB データを含む LOB テーブルの 2 つの形式があります。

LOB アーキテクチャー: LOB データサポートのテーブル

LOB テーブルのタイプLOB テーブルは、基本テーブルとは別の LOB データを格納するテーブルです。LOB テーブルの 2 つ

のタイプとは、バイナリまたは ASCII LOB と Unicode LOB です。

バイナリまたは ASCII LOB テーブルの構造は次のとおりです。

table_name CHAR(128) NOT NULL NOT DROPPABLE,data_locator LARGEINT NOT NULL NOT DROPPABLE,chunk_no INT NOT NULL NOT DROPPABLE,lob_data VARCHAR(3880)

ASCII データを含む Unicode LOB テーブルの構造は次のとおりです。

table_name CHAR(128),data_locator LARGEINT,chunk_no INTEGER,lob_data VARCHAR(1955) CHARACTER SET UCS2

LOB テーブルのプロパティの設定

LOB テーブルの指定データロケーターの予約

JDBC API から BLOB データと CLOB データを使用する JDBC アプリケーションを実行する前に、データベース管理者は LOB テーブルを作成する必要があります。LOB テーブルの作成については、「Lob Admin ユーティリティによる LOB データの管理」を参照してください。

BLOB データまたは CLOB データにアクセスする JDBC アプリケーションは、関連するテーブル名を指定し、オプションで reserveDataLocators プロパティを構成する必要があります。

LOB テーブルの指定実行時に、ユーザー JDBC アプリケーションは、アプリケーションからアクセスする基本テーブルの

CLOB カラムまたは BLOB カラムに関連する LOB テーブルの名前 (1 つ以上) をタイプ 4 ドライバーに通知します。BLOB データと CLOB データの格納には、1 つの LOB テーブルを使用することも個別のテーブルを使用することもできます。

JDBC アプリケーションは、テーブル名をシステムパラメーターで指定するか、LOB カラムのタイプに応じて次のいずれかのプロパティを使用して Java Property オブジェクトで指定します。

LOB カラムのタイプ プロパティ名

BLOB blobTableName

CLOB clobTableName

これらのプロパティの詳しい使い方については、「LOB テーブル名のプロパティ」を参照してください。

データロケーターの予約データロケーターは参照ポインタ値 (SQL LARGEINT データ型) であり、基本テーブル定義内の BLOB

カラムまたは CLOB カラムを置き換えます。LOB テーブルに格納されるオブジェクトには、それぞれ一意のデータロケーター値が割り当てられます。LOB テーブルは特定の LOB テーブルを使用するすべてのアクセサーの共有リソースなので、データロケーターを予約すると次の値を取得するための競合が緩和されます。デフォルト設定では 100 個のデータロケーターがあるので、個々の JVM インスタンスは新しい割り当てなしに 100 個のラージオブジェクト (チャンクではない) を挿入できます。

タイプ 4 ドライバーのプロパティ t4sqlmx.reserveDataLocators を使用して、アプリケーション用に予約するデータロケーターの数 (n) を指定します。 このプロパティの指定については、「reserveDataLocators プロパティ」を参照してください。

CLOB データの格納

Clob インターフェイスによる CLOB カラムの挿入CLOB カラムへの ASCII データまたは MBCS データの書き込みPreparedStatement インターフェイスによる CLOB データの挿入setClob メソッドによる Clob オブジェクトの挿入

Clob インターフェイスによる CLOB カラムの挿入CLOB データ型を含むローを挿入する場合は、空の CLOB 値が入ったローを挿入してから、カラムを実際の CLOB データで更新します。NonStop SQL/MX データベースに空の CLOB 値を挿入するには、INSERT ステートメントの CLOB カラムに EMPTY_CLOB() 関数を指定します。

注意:

● EMPTY_CLOB() 関数は HP NonStop 固有の関数であり、他のデータベースでは機能しない場合があります。

● PreparedStatement インターフェイスを使用する場合は、EMPTY_CLOB

() 関数を使用しないでください。

タイプ 4 ドライバーは、EMPTY_CLOB() 関数の SQL 文字列をスキャンし、次に使用可能なデータロケーターで置き換えます。

次に、更新する CLOB カラムを選択し、空の CLOB カラムのハンドルを取得します。次のコードは、空の CLOB カラムのハンドルを取得する方法を示しています。

Clob myClob = null;

Statement s = conn.createStatement();

ResultSet rs = s.executeQuery("Select myClobColumn

from myTable where ….for update");

if (rs.next())

myCLOB = rs.getClob(1);

これで、CLOB カラムにデータを書き込むことができます。「CLOB カラムへの ASCII データまたは

Unicode データの書き込み」を参照してください。

注意:

制限: SELECT クエリの CLOB カラムの名前を変更しないでください。

CLOB カラムへの ASCII データまたは MBCS データの書き込みCLOB カラムに ASCII データまたは MBCS データを書き込むことができます。

注意:

マルチバイト文字セット (MBCS) データと ASCII データは同様に処理されます。

ASCII データCLOB カラムに ASCII データまたは MBCS データを書き込むには、Clob インターフェイスを使用します。次のコードは、Clob インターフェイスの setAsciiStream メソッドを使用して CLOB データを書き込む方法を示しています。

// stream begins at position: 1long pos = 1; //String containing the ASCII data String s ; // Obtain the output stream to write Clob data OutputStream os = myClob.setAsciiStream(pos); // write Clob data using OutputStream byte[] myClobData = s.getBytes(); os.write(myClobData);

タイプ 4 ドライバーは、出力ストリームをチャンクに分割し、そのチャンクを LOB テーブルに格納します。

PreparedStatement インターフェイスによる CLOB データの挿入PreparedStatement インターフェイスを使用して、ASCII データまたは MBCS データを含む

CLOB カラムを挿入できます。

ASCII データASCII データまたは MBCS データを含む CLOB カラムを InputStream から挿入するには、

PreparedStatement インターフェイスを使用して CLOB カラムを挿入します。

InputStream inputAsciiStream;PreparedStatement ps = conn.prepareStatement("insert into myTable (myClobColumn) values (?)"); ps.setAsciiStream(1, inputAsciiStream, length_of_data);ps.executeUpdate();

タイプ 4 ドライバーは、InputStream からデータを読み取り、このデータを LOB テーブルに書き込みます。タイプ 4 ドライバーは、このテーブルの CLOB カラムのパラメーターを次に使用可能なデータロケーターで置き換えます。

setClob メソッドによる Clob オブジェクトの挿入JDBC アプリケーションは、Clob オブジェクトを直接インスタンス化することはできません。同等の操作を実行するには、次のようにします。

1. ResultSet インターフェイスの getClob メソッドを使用して Clob オブジェクトを取得します。

2. PreparedStatement インターフェイスの setClob メソッドを使用して、Clob オブジェクトを別のローに挿入します。

この状況で、タイプ 4 ドライバーは新しいデータロケーターを生成し、PreparedStatement が実行されると、ソース Clob の内容を新しい Clob オブジェクトにコピーします。

Reader による Unicode データを含む CLOB カラムの挿入PreparedStatement インターフェイスを使用し、Reader を使用して Unicode データを含む CLOB カラムを挿入できます。

Reader inputReader; PreparedStatement ps = conn.prepareStatement("insert into myTable (myClobColumn) values (?)"); ps.setCharacterStream(1, inputReader, length_of_data); ps.executeUpdate();

タイプ 4 ドライバーは、Reader からデータを読み取り、内部的に SQLMXClobWriter が LOB テーブルにこのデータを書き込みます。タイプ 4 ドライバーは、基本テーブルの CLOB カラムのパラメーターを次に使用可能なデータロケーターで置き換えます。

CLOB カラムへの Unicode データの書き込み次のコードは、空の CLOB カラムのハンドルを取得した後で、CLOB カラムに Unicode データを書き込む方法を示しています。

long pos = 0; // String containing the Unicode data String s ; // Obtain the output stream to write Clob data Writer cw = myClob.setCharacterStream(pos); // write Clob data using Writer char[] myClobData = s.toCharArray(); cw.write(myClobData);

CLOB データの読み取り

CLOB カラムからの ASCII データの読み取りCLOB カラムからの Unicode データの読み取り

CLOB カラムからの ASCII データの読み取りCLOB カラムから ASCII データまたは MBCS データを読み取るには、Clob インターフェイスまたは

InputStream を使用します。

Clob インターフェイスは次のように使用します。

// Obtain the Clob from ResultSet Clob myClob = rs.getClob("myClobColumn"); // Obtain the input stream to read Clob data InputStream is = myClob.getAsciiStream(); // read Clob data using the InputStream byte[] myClobData; myClobData = new byte[length]; is.read(myClobData, offset, length);

InputStream: を使用して CLOB カラムから ASCII データまたは MBCS データを読み取るには、次のようにします。

// obtain the InputStream from ResultSet InputStream is = rs.getAsciiStream("myClobColumn"); // read Clob data using the InputStream byte[] myClobData; myClobData = new byte[length]; is.read(myClobData, offset, length);

CLOB カラムからの Unicode データの読み取り CLOB カラムから Unicode データまたは MBCS データを読み取るには、 CLOB インターフェイスまたは Reader を使用します。

CLOB interface は次のように使用します。

// Obtain the Clob from ResultSet Clob myClob = rs.getClob("myClobColumn"); // Obtain the input stream to read Clob data Reader cs = myClob.getCharacterStream(); // read Clob data using Reader char[] myClobData; myClobData = new char[length]; cs.read(myClobData, offset, length);

Reader を使用して CLOB カラムから Unicode データの読み取るには、次のようにします。

// obtain the Reader from ResultSet Reader cs = rs.getCharacterStream("myClobColumn"); // read Clob data using the InputStreamchar[] myClobData;myClobData = new char[length];css.read(myClobData, offset, length);

CLOB データの更新

updateClob メソッドによる Clob オブジェクトの更新Clob オブジェクトの置換

CLOB データを更新するには、Clob インターフェイスのメソッドを使用するか、ResultSet インターフェイスの updateClob メソッドを使用します。タイプ 4 ドライバーは CLOB データを直接変更します。そのため、タイプ 4 ドライバーは、DatabaseMetaData インターフェイスの

locatorsUpdateCopy メソッドに false を返します。アプリケーションは、CLOB データを更新するために個別の更新ステートメントを発行する必要はありません。

CLOB データを更新するには、次のようにします。

● updateClob メソッドによる Clob オブジェクトの更新

● Clob オブジェクトの置換

updateClob メソッドによる Clob オブジェクトの更新一部の LOB サポートの実装とは異なり、タイプ 4 ドライバーは CLOB データをデータベース内で直接更新します。そのため、updateClob メソッドの Clob オブジェクトが getClob を使用して取得した Clob オブジェクトと同じ場合、ResultSet インターフェイスの updateRow メソッドは Clob オブジェクトを操作しません。

Clob オブジェクトが異なる場合、updateClob メソッド内の Clob オブジェクトは setClob メソッドが発行されたのと同様に動作します。「setClob メソッドによる Clob オブジェクトの挿入」を参照してください。

Clob オブジェクトの置換Clob オブジェクトを置き換えるには、次のようにします。

● EMPTY_CLOB() 関数を使用して Clob オブジェクトを空の Clob オブジェクトで置き換え、新しいデータを挿入します。「Clob インターフェイスによる CLOB カラムの挿入」を参照してください。

● PreparedStatement.setAsciiStream() メソッドまたは setCharacterStream() メソッドを使用して、既存の Clob オブジェクトを新しい CLOB データで置き換えます。

● setClob メソッドまたは updateClob メソッドを使用して、既存の CLOB オブジェクトを置き換えます。「setClob メソッドによる Clob オブジェクトの挿入」と「updateClob メソッドによる Clob オブジェクトの更新」を参照してください。

CLOB データの削除CLOB データを削除するには、JDBC アプリケーションで SQL DELETE ステートメントを使用して基

本テーブルのローを削除します。

CLOB カラムを含むローが JDBC アプリケーションによって削除されると、対応する CLOB データは基本テーブルに関連付けられた削除トリガーによって自動的に削除されます。トリガーについては、「SQL/MX トリガーによる LOB データの削除」を参照してください。

「NULL と空の BLOB 値または空の CLOB 値」も参照してください。

BLOB データの格納

Blob インターフェイスによる BLOB カラムの挿入BLOB カラムへのバイナリデータの書き込みPreparedStatement インターフェイスによる BLOB カラムの挿入setBlob メソッドによる Blob オブジェクトの挿入

CLOB カラムに対して実行したのと同様の操作を BLOB カラムに対して実行します。

● データベース内に空の BLOB カラムを作成するには、INSERT ステートメントで

EMPTY_BLOB() 関数を使用します。

● BLOB データを読み取るには、Blob インターフェイスの setBinaryStream メソッドを使用して InputStream を取得します。

● BLOB データを書き込むには、Blob インターフェイスの getBinaryStream メソッドを使用して OutputStream を取得します。

● BLOB カラムにデータを書き込むには、PreparedStatement インターフェイスの

setBinaryStream メソッドを使用します。

Blob インターフェイスによる BLOB カラムの挿入BLOB データ型を含むローを挿入する場合は、空の BLOB 値を使用してローを挿入してから、実際の

BLOB データで更新します。SQL/MX データベースに空の BLOB 値を挿入するには、INSERT ステートメントの BLOB カラムに EMPTY_BLOB() 関数を指定します。

タイプ 4 ドライバーは、EMPTY_BLOB() 関数の SQL 文字列をスキャンし、次に使用可能なデータロケーターで置き換えます。

注意:

● EMPTY_BLOB() 関数は HP NonStop 固有の関数であり、他のデータベースでは機能しない場合があります。

● PreparedStatement インターフェイスを使用する場合は、EMPTY_BLOB

() 関数を使用しないでください。

次に、BLOB カラムを選択し、空の BLOB カラムのハンドルを取得します。次のコードは、空の BLOB

カラムのハンドルを取得する方法を示しています。

Blob myBlob = null;

Statement s = conn.createStatement();

ResultSet rs = s.executeQuery("Select myBlobColumn

from myTable where …For update");

if (rs.next())

myBlob = rs.getBlob(1);

これで、BLOB カラムにデータを書き込むことができます。「BLOB カラムへのバイナリデータの書き込み」を参照してください。

注意:

制限: SELECT クエリの BLOB カラムの名前を変更しないでください。

BLOB カラムへのバイナリデータの書き込みBLOB カラムにデータを書き込むには、Blob インターフェイスを使用します。次のコードは、Blob インターフェイスの setBinaryStream メソッドを使用して BLOB データを書き込む方法を示しています。

// Stream begins at position: 1 long pos = 1; // String containing the binary data String s ; // Obtain the output stream to write Blob data OutputStream os = myBlob.setBinaryStream(pos); // write Blob data using OutputStream byte[] myBlobData = s.getBytes(); os.write(myBlobData);

タイプ 4 ドライバーは、出力ストリームをチャンクに分割し、このチャンクを LOB テーブルに格納します。

PreparedStatement インターフェイスによる BLOB カラムの挿入バイナリデータを含む BLOB カラムを InputStream から挿入するには、PreparedStatement インターフェイスを使用します。

InputStream inputBinary;PreparedStatement ps = conn.prepareStatement("insert into myTable (myBlobColumn) values (?)"); ps.setBinaryStream(1, inputBinary, length_of_data);ps.executeUpdate();

タイプ 4 ドライバーは、InputStream からデータを読み取り、このデータを LOB テーブルに書き込みます。タイプ 4 ドライバーは、このテーブルの BLOB カラムのパラメーターを次に使用可能なデータロケーターで置き換えます。

setBlob メソッドによる Blob オブジェクトの挿入

JDBC アプリケーションは、Blob オブジェクトを直接インスタンス化することはできません。同等の操作を実行するには、次のようにします。

1. ResultSet インターフェイスの getBlob メソッドを使用して Blob オブジェクトを取得します。

2. PreparedStatement インターフェイスの setBlob メソッドを使用して、Blob オブジェクトを別のローに挿入します。

この状況で、タイプ 4 ドライバーは新しいデータロケーターを生成し、アプリケーションが

PreparedStatement インターフェイスのsetBlob メソッドを発行すると、ソース Blob の内容を新しい Blob オブジェクトにコピーします。

BLOB カラムからのバイナリデータの読み取りBLOB カラムからバイナリデータを読み取るには、Blob インターフェイスまたは InputStream を使用します。

Blob インターフェイスは次のように使用します。

// Obtain the Blob from ResultSet Blob myBlob = rs.getBlob("myBlobColumn"); // Obtain the input stream to read Blob data InputStream is = myBlob.getBinaryStream(); // read Blob data using the InputStream byte[] myBlobData; myBlobData = new byte[length]; is.read(myBlobData, offset, length);

InputStream は次のように使用します。

// obtain the InputStream from ResultSet InputStream is = rs.getBinaryStream("myBlobColumn"); // read Blob data using the InputStream byte[] myBlobData; myBlobData = new byte[length]; is.read(myBlobData, offset, length);

BLOB データの更新

updateBlob メソッドによる Blob オブジェクトの更新Blob オブジェクトの置換

BLOB データを更新するには、Blob インターフェイスのメソッドを使用するか、ResultSet インターフェイスの updateBlob メソッドを使用します。タイプ 4 ドライバーは BLOB データを直接変更します。そのため、タイプ 4 ドライバーは、DatabaseMetaData インターフェイスの

locatorsUpdateCopy メソッドに false を返します。アプリケーションは、BLOB データを更新す

るために個別の更新ステートメントを発行する必要はありません。

BLOB データを更新するには、次のようにします。

● updateBlob メソッドによる Blob オブジェクトの更新

● Blob オブジェクトの置換

updateBlob メソッドによる Blob オブジェクトの更新一部の LOB サポートの実装とは異なり、タイプ 4 ドライバーは BLOB データをデータベース内で直接更新します。そのため、updateBlob メソッドの Blob オブジェクトが getBlob を使用して取得したオブジェクトと同じ場合、ResultSet インターフェイスの updateRow メソッドは Blob オブジェクトを操作しません。

Blob が異なる場合、updateBlob メソッド内の Blob オブジェクトは setBlob メソッドが発行されたのと同様に動作します。「setBlob メソッドによる Blob オブジェクトの挿入」を参照してください。

Blob オブジェクトの置換Blob オブジェクトを置換するには、次のようにします。

● EMPTY_BLOB() 関数を使用して、Blob オブジェクトを空のBlob オブジェクトで置き換えます。

● 新しいデータを含む Blob を挿入し、ロー内の既存の Blob オブジェクトを置き換えます。「Blob インターフェイスによる BLOB カラムの挿入」を参照してください。

● PreparedStatement インターフェイスの setBinaryStream() メソッドを使用して、既存の Blob オブジェクトを新しい BLOB データで置き換えます。

● setBlob メソッドまたは updateBlob メソッドを使用して、既存の BLOB オブジェクトを置き換えます。「 setBlob メソッドによる Blob オブジェクトの挿入」と「updateBlob メソッドによる Blob オブジェクトの更新」を参照してください。

BLOB データの削除タイプ 4 ドライバーは BLOB データを削除するには、JDBC アプリケーションで SQL DELETE ステートメントを使用して基本テーブルのローを削除します。

BLOB カラムを含むローがアプリケーションによって削除されると、対応する BLOB データは基本テーブルに関連付けられた削除トリガーによって自動的に削除されます。トリガーについては、「SQL/MX

トリガーによる LOB データの削除」を参照してください。

「NULL と空の BLOB 値または空の CLOB 値」も参照してください。

NULL と空の BLOB 値または空の CLOB 値

挿入ステートメントで BLOB カラムまたは CLOB カラムが省略された場合、データロケーターは NULL

値をとることができます。アプリケーションがこのようなカラムの値を取得すると、タイプ 4 ドライバーは NULL を返します。

アプリケーションが EMPTY_BLOB() 関数または EMPTY_CLOB() 関数を使用して BLOB カラムまたは

CLOB カラムに空の BLOB データまたは CLOB データを挿入すると、タイプ 4 ドライバーはデータのない Blob オブジェクトまたは Clob オブジェクトを返します。

Blob アクセスと Clob アクセスを含むトランザクションBLOB カラムまたは CLOB カラムへのアクセスまたは変更が行われた場合、JDBC アプリケーションはトランザクションを確実に制御する必要があります。トランザクションを制御するには、自動コミットへの接続を OFF モードに設定します。

LOB データへのすべてのアクセスまたは変更は、アプリケーションのトランザクションによって実行されます。自動コミットモードが ON であり、LOB データへのアクセスまたは変更が行われた場合、タイプ 4 ドライバーは SQLException Autocommit is on and LOB objects are involved をスローします。

Clob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項タイプ 4 ドライバーによって、現在の Clob オブジェクトまたは Blob オブジェクト (LOB オブジェクトと呼ばれる) に関する有効な操作のすべてが可能になります。LOB オブジェクトは、それらのオブジェクトを含むローが現在のローである限り、現在の LOB オブジェクトです。アプリケーションが現在の LOB オブジェクトでないオブジェクトの操作を実行しようとすると、タイプ 4 ドライバーは

SQLException をスローし、次のメッセージを表示します。

Lob object {object-id} is not current

唯一の InputStream または Reader と唯一の OutputStream または Writer を現在の LOB オブジェクトに関連付けることができます。

● アプリケーションが LOB オブジェクトから InputStream または Reader を取得すると、タイプ 4 ドライバーはすでに LOB オブジェクトに関連付けられている InputStream または

Reader を閉じます。

● 同様に、アプリケーションが LOB オブジェクトから OutputStream または Writer を取得すると、タイプ 4 ドライバーはすでにその LOB オブジェクトに関連付けられている OutputStream または Writer を閉じます。

戻る 上へ 進む第 4 章 タイプ 4 ドライバーのプロパティ ホーム 第 6 章 BLOB データと CLOB データ

を含む SQL/MX テーブルの管理

マニュアル番号 529651-006J Legal Notice

第 6 章 BLOB データと CLOB データを含む SQL/MX テーブルの管理戻る 進む

第 6 章 BLOB データと CLOB データを含む SQL/MX テーブルの管理LOB データの管理を開始する前にLOB カラムを含む基本テーブルの作成

LOB カラムのデータ型MXCI による LOB カラムを含む基本テーブルの作成JDBC プログラムによる LOB カラムを含む基本テーブルの作成

Lob Admin ユーティリティによる LOB データの管理Lob Admin ユーティリティの実行 タイプ 4 Lob Admin ユーティリティのへルプ表示LOB テーブルの作成

SQL/MX トリガーによる LOB データの削除LOB カラムのバックアップとリストアLOB データ (CLOB データ型と BLOB データ型) の制限

本章では、LOB データのサポートのために、データベース管理者が行う必要のあるテーブルの作成と管理について説明します。

LOB データの管理を開始する前にBLOB と CLOB は、SQL/MX データベースのネイティブデータ型ではありません。しかし、本章で説明するように、データベース管理者はタイプ

4 ドライバーまたは MXCI の特別な SQL 構文を使用して、BLOB カラムと CLOB カラムを含む SQL/MX テーブルを作成できます。管理上、CLOB

データと BLOB データはラージオブジェクト (LOB) データと呼ばれており、どちらかのデータ型を表すことができます。

本章を読む前に、LOB データを含むテーブルのファイルについて説明している「LOB サポートのアーキテクチャー」もお読みください。

LOB カラムを含む基本テーブルの作成

LOB カラムのデータ型MXCI による LOB カラムを含む基本テーブルの作成JDBC プログラムによる LOB カラムを含む基本テーブルの作成

本章で説明するように、LOB カラムを含む基本テーブルを作成する JDBC プログラムを記述するか、SQL/MX 会話型インターフェイス MXCI を使用することができます。

LOB カラムのデータ型LOB カラムのデータ型は次のとおりです。

CLOB

キャラクターラージオブジェクトデータ BLOB

バイナリラージオブジェクトデータ

注意:

CLOB データ型と BLOB データ型の仕様は、このマニュアルで説明するタイプ 4 ドライバーからアクセスする基本テーブルで使用できる特別な構文です。

MXCI による LOB カラムを含む基本テーブルの作成MXCI を使用して基本テーブルを作成する場合は、テーブルを作成する手順を実行する前に、MXCI セッションで次の特別なコマンドを入力し、LOB (BLOB または CLOB) カラムを含む基本テーブルの作成を有効にする必要があります。

CONTROL QUERY DEFAULT JDBC_PROCESS 'TRUE'

LOB カラムを含む基本テーブルを作成するには、次の手順を実行します。

1. OSS プロンプトで、SQL/MX ユーティリティ MXCI を呼び出します。次のように入力します。

mxci

2. 次のコマンドを入力し、LOB カラムを含むテーブルの作成を有効にします。

CONTROL QUERY DEFAULT JDBC_PROCESS 'TRUE';

3. CREATE TABLE ステートメントを入力します。たとえば、次の単純な形のステートメントを使用できます。

CREATE TABLE table1 (c1 INTEGER NOT NULL, c2 CLOB, c3 BLOB, PRIMARY KEY(c1));

各構文要素は次のとおりです。

table1

基本テーブルの名前

注意:

さまざまな LOB テーブルを使用して BLOB データまたは CLOB データを格納する場合、BLOB カラムまたは CLOB カラムを含むテーブルの基本テーブル名は、すべてのカタログとスキーマを通じて一意でなければなりません。一意でない場合は、ドライバーがアプリケーションに間違ったデータを提供し、LOB テーブルが間違って切り替えられたり変更されたりします。

c1

カラム 1。NOT NULL 制約のある INTEGER データ型として定義されます。 c2

カラム 2。CLOB データ型として定義されます。 c3

カラム 3。BLOB データ型として定義されます。 PRIMARY KEY

プライマリキーとして c1 を指定します。

この例を基本テーブル作成のアーキタイプとして使用します。有効なテーブル名 (table1) とカラム名 (c1、c2、c3) について、また CREATE

TABLE ステートメントについては、『SQL/MX リファレンス・マニュアル』を参照してください。

JDBC プログラムによる LOB カラムを含む基本テーブルの作成JDBC プログラムを使用して LOB カラムを含む基本テーブルを作成する場合は、他の SQL ステートメントと同様にプログラム内に CREATE

TABLE ステートメントを記述します。CREATE TABLE ステートメントの例は、「MXCI による LOB カラムを含む基本テーブルの作成」の説明を参照してください。

Lob Admin ユーティリティによる LOB データの管理

Lob Admin ユーティリティの実行タイプ 4 Lob Admin ユーティリティのへルプ表示LOB テーブルの作成

Lob Admin ユーティリティ (T4LobAdmin) は、次の作業に使用します。

● LOB テーブル (LOB データを含むテーブル) の作成

● 基本テーブル内の LOB カラムに関する SQL/MX トリガーの作成。LOB テーブル内で孤立した LOB データが発生しないようにします。

注意:

トリガーを作成する場合は、CLOB カラムまたは BLOB カラムを含む基本テーブルがすでに作成されていることを確認してください。

Lob Admin ユーティリティの使用方法については、次のトピックを参照してください。

● Lob Admin ユーティリティの実行

● Lob Admin ユーティリティのへルプ表示

● SQL/MX トリガーによる LOB データの削除

Lob Admin ユーティリティの実行OSS 環境で T4LobAdmin ユーティリティを実行します。

コマンド形式は次のとおりです。

java [java_options] com.tandem.t4jdbc.T4LobAdmin [prog_options] [table_name]

java_options

java_options は、-D オプションで java コマンド行にプロパティファイル内のタイプ 4 ドライバーのプロパティを指定します。

-Dt4sqlmx.properties=properties-file-name

ここで、プロパティファイルには適宜次のタイプ 4 ドライバーのプロパティが含まれます。

blobTableName

BLOB カラム用の LOB テーブルを指定します。BLOB カラムが含まれる場合は必須です。「LOB テーブル名のプロパティ」を参照してください。

clobTableName

CLOB カラム用の LOB テーブルを指定します。CLOB カラムが含まれる場合は必須です。「LOB テーブル名のプロパティ」を参照してください。

url

タイプ 4 ドライバー接続の URL。「url Property」を参照してください。usr

タイプ 4 ドライバー接続のユーザー名。「user Property」を参照してください。password

ユーザーのパスワード。「password Property」を参照してください。

program_optionsprogram_options 説明

-help ヘルプ情報を表示します。

-exec 生成された SQL ステートメントを実行します。

-createLOB テーブルを作成する SQL ステートメントを生成します。これらのステートメントはテーブルのアーキテクチャーを記述するため、LOB テーブルの説明を提供します。

-trigger指定されたテーブルのトリガーを作成する SQL ステートメントを生成します。基本テーブルが存在している必要があります。

-drop指定されたテーブルのトリガーをドロップする SQL ステートメントを生成します。テーブルが存在する必要があります。

-out 指定されたファイルに SQL ステートメントを書き込みます。

-unicode - Unicode LOB テーブルを作成する SQL ステートメントを生成します <CLOB のみ>。

table_nametable_name は LOB カラムを含む基本テーブルを表します。table_name の形式は次のとおりです。

[catalogName.][schemaName.]baseTableName

カタログ名、スキーマ名、テーブル名については、『SQL/MX リファレンス・マニュアル』を参照してください。

タイプ 4 Lob Admin ユーティリティのへルプ表示タイプ 4 Lob Admin ユーティリティのへルプを表示するには、次のように入力します。

java com.tandem.t4jdbc.T4LobAdmin -help

例 6.1 タイプ 4 Lob Admin ユーティリティのへルプ

Hewlett-Packard T4 Lob Admin Utility 1.0 (c) Copyright 2004 Hewlett-Packard Development Company, LP.

java [<java_options>] com.tandem.t4jdbc.T4LobAdmin [<prog_options>] [<table_name>]

<java_options> is: [-Dt4sqlmx.properties=<properties file>]where <properties file> has values for the following: clobTableName - CLOB table name blobTableName - BLOB table name url - URL used for the Type 4 connection user - User name for the Type 4 connection password - Password for associated with the user

<prog_options> is: [-exec] [-create] [-trigger][-unicode] [-help] [-drop] [-out <filename>]where -help - Display this information. -exec - Execute the SQL statements that are generated. -create - Generate SQL statements to create LOB tables. -trigger - Generate SQL statements to create triggers for <table_name>. -unicode - Generate SQL statements to create unicode LOB tables <CLOB only>. -drop - Generate SQL statements to drop triggers for <table_name>. -out - Write the SQL statements to <filename>. <clobTableName> | <blobTableName> is: <catalogName>.<schemaName>.<lobTableName>

<table_name> is: [<catalogName>.][<schemaName>.]<baseTableName>

<baseTableName> is the table that contains LOB column(s). TableName> is the table that contains the LOB data.

LOB テーブルの作成以下の場合を除き、Lob Admin ユーティリティの -create オプションと -execute オプションを使用して LOB テーブルを作成します。

注意:

パーティションに分割された LOB テーブルは、手動で作成する必要があります。パーティションに分割された LOB テーブルが必要な場合は、Lob Admin ユーティリティを使用できません。Lob Admin ユーティリティの -execute オプションを使用しないでください。パーティションに分割された LOB テーブルを手動で作成するには、次の手順を実行します。

1. Lob Admin ユーティリティの -create オプションと -out オプションを使用して、SQL ステートメントをファイルに書き込みます。

2. 生成された SQL ステートメントをパーティション分割の要件に合わせて変更します。

3. 変更された SQL ステートメントを MXCI スクリプトファイルに追加します。

4. MXCI スクリプトファイルを OSS 環境に移動し、実行します。

SQL/MX トリガーによる LOB データの削除タイプ 4 Lob Admin ユーティリティを使用して、基本ローが削除された場合に LOB テーブルから LOB データを削除するトリガーを生成します。これらのトリガーによって、LOB テーブル内に孤立した LOB データが発生しないようにします。トリガーを管理するには、以下のタイプ 4 Lob

Admin ユーティリティオプションを使用します。

-trigger

トリガーを作成する SQL ステートメントを生成します。 -drop

トリガーをドロップする SQL ステートメントを生成します。 -exec

生成された SQL ステートメントを実行します。

たとえば、次のコマンドは、BLOB カラムを含む基本テーブル sales.paris.pictures, のトリガーを作成する SQL ステートメントを生成し、これらのステートメントを実行します。注意: このコマンドは 1 行で入力する必要があります。

java -Dt4sqlmx.blobTableName=sales.paris.lobTable4pictures com.tandem.t4jdbc.T4LobAdmin -trigger -exec sales.paris.pictures

LOB カラムのバックアップとリストアデータベースのバックアップとリストアについての基本的な情報は、『SQL/MX リファレンス・マニュアル』を参照してください。ここでは、LOB カラムを実装したテーブルのバックアップとリストアに関して考慮する必要のあるタイプ 4 ドライバーに固有の問題 (基本テーブルと LOB

テーブルの両方が含まれるため) について説明しています。

● 基本テーブルのバックアップまたはリストアを行う場合は、テーブル名が変わらないようにしてください。基本テーブル名が変わると、リストア後に LOB データにアクセスできなくなります。

● トリガーは、Backup and Restore 2.0 ではリストアできません。これらのオブジェクトに関して実行した CREATE ステートメントの

DDL をキャプチャーし、リストア操作の後にこの情報を使用してこれらのオブジェクトを手動で再作成することができます。

● 基本テーブルと LOB テーブルのバックアップ間隔が長くならないようにします。間隔を短くすることで、基本テーブルから参照するデータが LOB テーブル内に確実に存在するようになります。

LOB データ (CLOB データ型と BLOB データ型) の制限CLOB データ型と BLOB データ型 (まとめて LOB データ) の制限は次のとおりです。

● LOB カラムは、以下の SQL ステートメントのターゲットカラムリストにのみ指定できます。

❍ INSERT ステートメント

❍ SELECT ステートメントの選択リスト

❍ UPDATE ステートメントの SET 句のカラム名

● LOB カラムは、SQL/MX の関数と式では参照できません。

● トリガーが設定されていないと、基本ローが削除されても LOB テーブルから LOB データが削除されません。トリガーについては、「SQL/MX トリガーによる LOB データの削除」を参照してください。

● 基本テーブル名が変わると、LOB データにアクセスできなくなります。

● SQL/MX ユーティリティコマンドでは、LOB カラムを別のテーブルにコピーすることはできません。

● CLOB カラムまたは BLOB カラムを含む複数の基本テーブルが唯一の LOB テーブルを共有する場合、これらの基本テーブルの名前はすべてのカタログとスキーマを通じて一意でなければなりません。

注意:

トリガーを追加すると、最大 3 つのスキーマに影響する可能性があります。スキーマごとに、そのスキーマを所有するかまたはスーパー ID である必要があります。

● トリガーが作成されたスキーマ

● サブジェクトテーブル (LOB テーブル) が存在するスキーマ

● 参照テーブル (基本テーブル) が存在するスキーマ

戻る 上へ 進む第 5 章 BLOB データと CLOB データでの作業 ホーム 第 7 章 モジュールファイルキャッシュ (MFC)

マニュアル番号 529651-006J Legal Notice

第 7 章 モジュールファイルキャッシュ (MFC)戻る 進む

第 7 章 モジュールファイルキャッシュ (MFC)MFC の概要MFC の設計MFC の構成MFC の使用シナリオMFC のチューニングにおける推奨事項MFC の制限事項 ステートメントキャッシュ

MFC の概要JDBC T4 ドライバーを使用するアプリケーションでは、プリペア済みステートメントの使用中に同じ SQL コンパイルが何度も繰り返されます。この問題を解決するために、ドライバー側 MFU (Most Frequently Used) キャッシュが使用されます。ところが、現在のドライバー側キャッシュは、大量のメモリが消費されるような設計になっています。MXOSRVR プロセスのメモリサイズが、maxStatements プロパティで設定されたドライバー側キャッシュサイズに直接比例します。maxStatements の値 (ドライバー側キャッシュサイズ) を大きくすると、NonStop プラットフォームの 2GB という MXOSRVR プロセスメモリ制限を超えてしまいます。

モジュールファイルキャッシュ (MFC) 機能は、プリペア済みステートメントプランを NonStop SQL/

MX データベース接続間で共有します。MFC は、JDBC または ODBC アプリケーションの安定状態での SQL コンパイル時間を減らすことに貢献し、その結果、リソース消費を低減させます。

注意:

モジュールファイルキャッシュは、J06.07 以降の J シリーズ RVU および H06.18 以降の H シリーズ RVU が稼働するシステム上でのみサポートされます。

MFC の設計MFC の設計については、『HP NonStop SQL/MX Connectivity Service Manual』を参照してください。

MFC の構成MFC の構成については、『HP NonStop SQL/MX Connectivity Service Manual』を参照してください。

MFC の使用シナリオNonStop サーバーで、次に挙げるような、プロセッサーとメモリーの使用量が減少するメリットが得られます。

● java.sql.Connection.prepareStatement() を使用する JDBC T4 アプリケーションで、プロセッサー利用率が低下し、メモリ消費が減少し、応答時間が向上するという利点が得られます。

● プリペアコールを通じて複雑なクエリを使用する JDBC T4 アプリケーションでは、プロセッサ利用率が低下し、メモリ消費が減少し、応答時間が向上するという大きな利点が得られます。たとえば、Hibernate 生成クエリなどが該当します。

● ドライバー側キャッシュサイズが大きい JDBC T4 アプリケーションは、MFC とドライバー側 MFU キャッシュを組み合わせて使用することにより、メモリ使用量低下という利点を得ることができます。

たとえば、t4sqlmx.maxStatements=1000 と設定していたアプリケーションは、t4sqlmx.maxStatements=600 に変更して MFC を使用することにより利点が得られます。

この例では、すべてのステートメントが MFC にキャッシュされ、最もよく使用されるステートメントがドライバー側 MFU キャッシュにキャッシュされます。

● 起動時に SQL コンパイルされるステートメントを大量に持つ JDBC T4 アプリケーションは、MFC 機能を使用することにより、(再) 起動時間短縮での恩恵が得られます。サーバーが自動再起動するように構成されている場合に、起動時間が短縮されます。

● メモリスワップが頻繁に発生する JDBC T4 アプリケーションでは、ドライバー側キャッシュを減らし、MFC を有効にすることによって利点が得られます。MXOSRVR プロセスのサイズが頻繁に 1GB を超える場合は、ドライバー側キャッシュを少なくし、MFC を有効化してください。

● プロセッサーごとの MXOSRVR プロセス数が大きい値に設定されている JDBC T4 アプリケーションでは、MFC を有効にするとスワップが減少します。別の選択肢として、プロセッサーごとの物理メモリを増やしてスワップを減少させることもできます。

● クエリ数が明確に分かっていないか、またはクエリ数が固定していない JDBC T4 アプリケーションには、MFC と制限したドライバー側キャッシュを組み合わせることをお勧めします。

MFC のチューニングにおける推奨事項プロセッサーごとに構成する必要のある接続数が多い場合 (プロセッサーごとの接続数が 20 を超えるなど) は、MFC を使用するとメモリ使用率が低下します。

メモリの負担がない OLTP クエリ (JOE など) が少なく、execute() や fetch() でのメモリ負担が大きいアプリケーションの場合、MFC で得られるパフォーマンスが、MFC によるメモリ消費の少ない T4 ドライバーキャッシュのパフォーマンスに近いものになります。このようなアプリケーションでは、プロセッサーごとに構成される接続数が小さい場合には、MFC と T4 ドライバーキャッシュとで大きな差はないため、JDBC T4 ドライバーキャッシュのみを構成してください。

クエリ数が少ないアプリケーションの場合は、ドライバー側キャッシュ (DSC) によって応答時間が向上します。クエリ数が多いアプリケーションの場合は、DSC と MFC を組み合わせて使用してください。メモリ使用量が改善され、DSC の応答時間は同じようになります。標準的なアプリケーションでは、最もよく使用されるステートメントの数を調べ、そ

れを DSC として構成して、その他は MSC として構成してください。最もよく使用されるステートメントの数がわからない場合は、そのアプリケーションでのクエリの総数の 60% 程度の数を指定することをお勧めします。 たとえば、一意のクエリが 1000 個あるアプリケーションなら、DSC (t4sqlmx.maxStatements) を 600 に設定します。大きなクエリ数を DSC に設定したアプリケーションでは、メモリスワップが発生します。この場合、DSC 数を減らし、MFC でのクエリ数を増やしてください。JDBC/T4 ドライバーは、メモリ内の、最もよく使用されるステートメントをキャッシュします。MXOSRVR は、NonStop ホスト上にあり、頻度の低いクエリを MFC を使用してキャッシュします。

MFC の制限事項MFC は、JDBC T4 ドライバー側キャッシュ (DSC) を置き換えるものではありません。JDBC T4 ドライバー側キャッシュの方が MFC よりも応答時間が優れています。

MFC の制限事項の詳細については、『HP NonStop SQL/MX Connectivity Service Manual』を参照してください。

ステートメントキャッシュJDBC T4 ドライバーは、ステートメントキャッシュ機能が有効になっていると、SQL ステートメントをキャッシュします。このキャッシュでは、ステートメントがキャッシュから削除されないように、スカラー関数が大きい値で使用されます。ステートメントキャッシュについては、「maxStatements

プロパティ」を参照してください。

ステートメントキャッシュ機能が有効になっていない場合や、JDBC T4 ドライバーキャッシュ内にスペースがない場合には、SQL ステートメントがスカラー関数を使用するようになっていても、JDBC

T4 ドライバーは、そのステートメントの準備中にサーバー側での MFC の使用を許可しません。MFC

の制限事項については、『HP NonStop SQL/MX Connectivity Service Manual』を参照してください。MFC でサポートされていないスカラー関数については、「付録 B スカラー関数」を参照してください。

戻る 上へ 進む第 6 章 BLOB データと CLOB データを含む SQL/MX テーブルの管理 ホーム 第 8 章 タイプ 4 ドライバーのコンプ

ライアンス

マニュアル番号 529651-006J Legal Notice

第 8 章 タイプ 4 ドライバーのコンプライアンス戻る 進む

第 8 章 タイプ 4 ドライバーのコンプライアンスコンプライアンスの概要サポートされない機能仕様変更HP 拡張

メッセージの国際化DatabaseMetaData メソッドによる Null パラメーター処理のコンフォーマンスタイプ 4 ドライバーの SQL データ型へのコンフォーマンス

JDBC データ型浮動小数点のサポートSQLJ のサポートサポートされない NonStop SQL 機能

サポートされない SQL/MX 機能サポートされない SQL/MP 機能

その他のサポートされない機能制限

コンプライアンスの概要タイプ 4 ドライバーは、該当する場合、Sun Microsystems の JDBC 3.0 API 仕様に準拠します。ただし、このドライバーはいくつかの点で JDBC 標準とは異なります。この節では、サポートされない

JDBC メソッド、仕様に準拠しないメソッドと機能、JDBC 標準に対する HP 拡張の機能について説明します。仕様に準拠する JDBC 機能については、この節では説明しません。

また、本章では NonStop JDBC タイプ 4 ドライバーでサポートされない NonStop SQL/MX 機能と

SQL/MP 機能、その他のサポートされない機能、および制限の一覧も示します。

サポートされない機能java.sql パッケージ内の次のメソッドは、SQLException をスローし、メッセージ "Unsupported

feature - method-name" を表示します。

メソッド コメント

CallableStatement.getArray(int

parameterIndex) CallableStatement.

getArray(String parameterName)

CallableStatement.getBlob(int parameterIndex) CallableStatement.getBlob(String parameterName)

CallableStatement.getClob(int

parameterIndex) CallableStatement.

getClob(String parameterName)

CallableStatement.getObject(int

parameterIndex, Map map)

CallableStatement.getObject(String

parameterName, Map map)

CallableStatement.getRef(int

parameterIndex) CallableStatement.

getRef(String parameterName)

CallableStatement.getURL(int

parameterIndex)

CallableStatement.getURL(String

parameterName) CallableStatement.

executeBatch()

特定の CallableStatement メソッドはサポートされません。

Connection.releaseSavepoint

(Savepoint savepoint)

Connection.rollback(Savepoint

savepoint)

Connection.setSavepoint()

Connection.setSavepoint(String name)

特定の Connection メソッドはサポートされません。

PreparedStatement.setArray(int

parameterIndex, Array x)

PreparedStatement.setRef(int

parameterIndex, Ref x)

PreparedStatement.setURL(int

parameterIndex, URL x)

特定の PreparedStatement メソッドはサポートされません。

ResultSet.getArray(int columnIndex)

ResultSet.getArray(String

columnName)

ResultSet.getObject(int columnIndex,

Map map)

ResultSet.getObject(String

columnName, Map map)

ResultSet.getRef(int columnIndex)

ResultSet.getRef(String columnName)

ResultSet.getURL(int columnIndex)

ResultSet.getURL(String columnName)

ResultSet.updateArray(int

columnIndex)

ResultSet.updateArray(String

columnName)

ResultSet.updateRef(int columnIndex)

ResultSet.updateRef(String

columnName)

特定の ResultSet メソッドはサポートされません。

他に java.sql パッケージ内の次のメソッドは、SQL/MP ユーザーテーブルへのアクセスに使用された場合、SQLException をスローし、メッセージ "Unsupported feature - method-name" を表示します。

メソッド コメント

PreparedStatement.setBlob(int

parameterIndex, Blob x)

PreparedStatement.setClob(int

parameterIndex, Clob x)

SQL/MP ユーザーテーブルのみにアクセスする場合、特定の PreparedStatement メソッドはサポートされません。

ResultSet.getBlob(int columnIndex)

ResultSet.getBlob(String columnName)

ResultSet.getClob(int columnIndex)

ResultSet.getClob(String columnName)

ResultSet.updateBlob(int

columnIndex)

ResultSet.updateBlob(String

columnName)

ResultSet.updateClob(int

columnIndex)

ResultSet.updateClob(String

columnName)

SQL/MP ユーザーテーブルのみにアクセスする場合、特定の ResultSet メソッドはサポートされません。

java.sql パッケージ内の次のメソッドは、SQLException をスローし、メッセージ "Auto

generated keys not supported" を表示します。

メソッド コメント

Connection.prepareStatement(String sql, int

autoGeneratedKeys)

Connection.prepareStatement(String sql, int[] columnIndexes)

Connection.prepareStatement(String sql, String[]

columnNames)

自動生成されたキーはサポートされません。

Statement.executeUpdate(String sql, int autoGeneratedKeys)

Statement.executeUpdate(String sql, int[] columnIndexes)

Statement.executeUpdate(String sql, String[] columnNames)

Statement.getGeneratedKeys()

自動生成されたキーはサポートされません。

java.sql パッケージ内の次のメソッドは、SQLException をスローし、メッセージ "Data type not

supported" を表示します。

メソッド コメント

CallableStatement.getBytes(int parameterIndex)

CallableStatement.setBytes(String parameterIndex, bytes[] x)

特定のデータ型はサポートされません。

java.sql パッケージ内の次のインターフェイスは、タイプ 4 ドライバーでは実装されません。

インターフェイス コメント

java.sql.Array

java.sql.Ref

java.sql.

Savepoint

java.sql.SQLData

java.sql.SQLInput

java.sql.

SQLOutput

java.sql.Struct

基本的なデータ型は SQL/MX ではサポートされません。

javax.sql パッケージ内の次のインターフェイスは、タイプ 4 ドライバーでは実装されません。

メソッド コメント

javax.sql.RowSet javax.sql.RowSetInternal

javax.sql.RowSetListener javax.sql.

RowSetMetaData javax.sql.RowSetReader

javax.sql.RowSetWriter

RowSet は、JDBC Driver for SQL/MX では実装されません。RowSet の参考用の実装を Sun Microsystems (http://

developer.java.sun.com/developer/

earlyAccess/crs/) からダウンロードできます。

一部のメソッドの仕様変更については、「仕様変更」を参照してください。

仕様変更次の表は、実行する上で JDBC 仕様と異なる.メソッドの一覧です。メソッドの引数が無視された場合、タイプ 4 ドライバーは SQLException, をスローしないため、アプリケーションは処理を継続できます。ただし、アプリケーションで予期された結果が得られません。その他のメソッドは、仕様に準拠しなくても、他に記載がない限り、必ずしも SQLException をスローしません。

注意:

SQL/MX は SQL_ROWVER をサポートしないため、java.sql.

DatabaseMetaData.getVersionColumns() メソッドは java.sql.

DatabaseMetaData.getBestRowIdentifier() と同様です。SQL_ROWVER

は、指定されたテーブル内の 1 つ以上のカラムを返すカラム関数であり、存在する場合は、特定のロー内の値がトランザクションによって更新されたときにデータソースによって自動的に更新されます。

メソッド コメント

java.sql.DatabaseMetaData.

getColumns(String catalog,

String schemaPattern,

String tableNamePattern,

String columnNamePattern)

カラムはカラムデータに追加されますが、SQL/MX は次のタイプに対してカラムタイプをサポートしないため、その値は NULL に設定されます。

SCOPE_CATALOG、

SCOPE_SCHEMA、

SCOPE_TABLE、および

SOURCE_DATA_TYPE。

java.sql.DatabaseMetaData.

getTables(String catalog,

String schemaPattern,

String[] types)

カラムはカラムデータに追加されますが、SQL/MX は次のタイプに対してカラムタイプをサポートしないため、その値は NULL に設定されます。

TYPE_CAT、

TYPE_SCHEMA、

TYPE_NAME、

SELF_REFERENCING_COL_NAME、

および REF_GENERATION。

java.sql.DatabaseMetaData.

getUDTs(String catalog,

String schemaPattern,

String tableNamePattern,

int[] types)

BASE_TYPE はカラムデータに追加されますが、SQL/MX

は基本タイプをサポートしないため、その値は NULL に設定されます。

java.sql.DatabaseMetaData.

getVersionColumns()

SQL/MX は SQL_ROWVER をサポートしないため、DatabaseMetaData.getBestRowIdentifier() と同様です。SQL_ROWVER は、指定されたテーブル内の 1 つ以上のカラムを返すカラム関数であり、存在する場合に、特定のロー内の値がトランザクションによって更新されたときにデータソースによって自動的に更新されます。

java.sql.Connection.

createStatement(...)java.

sql.Connection.

prepareStatement(...)

タイプ 4 ドライバーはスクロールセンシティブな結果セットタイプをサポートしないため、アプリケーションがこのタイプを要求すると SQLWarning が発行されます。結果セットはスクロールインセンシティブタイプに変更されます。

java.sql.Connection.

setReadOnly(...)読み取り専用属性は無視されます。

java.sql.ResultSet.

setFetchDirection(...)フェッチ方向属性は無視されます。

java.sql.Statement.

setEscapeProcessing(...)

SQL/MX はエスケープ構文の構文解析を行うので、エスケープ処理を無効にしても影響はありません。

java.sql.Statement.

setFetchDirection(...)フェッチ方向属性は無視されます。

java.sql.Statement.setQueryTimeout(int seconds)

これは JDBC ドライバーのプロパティ

closeConnectionUponQueryTimeout の値に基づいています。.

以下は、プロパティ

closeConnectionUponQueryTimeout の値が IGNORE/

DEFAULT の場合の JDBC ドライバーの動作です。

Statement.setQueryTimeout() has の呼び出しによって設定される IGNORE = 任意の値 (> 0) は影響しません。Statement は、ステートメントが実行されるまで現在のスレッドをブロックします。

DEFAULT = これはプロパティが指定されない場合に設定される値です。Statement.setQueryTimeout() の呼び出しによって値 (> 0) を設定すると、この値のときに

SQLException が発生します。

HP 拡張

メッセージの国際化

タイプ 4 ドライバーには、JDBC 標準に対する次の HP 拡張が実装されています。

メッセージの国際化タイプ 4 ドライバーは、Java メッセージをさまざまな言語に採用できるように設計されています。エラーメッセージは、ソースコードの外部の個別のプロパティファイルに格納されており、ロケールの設定に基づいて動的に取得されます。言語と国に基づいて、さまざまな言語のエラーメッセージが個別のプロパティファイルに格納されています。この拡張は、JDBC アプリケーション実行時に表示される可能性のあるすべてのメッセージに適用されるわけではありません。

詳細については、「エラーメッセージとステータスメッセージのローカライズ」を参照してください。

DatabaseMetaData メソッドによる Null パラメーター処理のコンフォーマンスこのトピックでは、DatabaseMetaData メソッドのパラメーター値として渡された NULL パラメーターの値をタイプ 4 ドライバーが決定する方法を説明します。他のベンダーによる JDBC 仕様の実装

は異なっているため、ここではタイプ 4 ドライバーによる影響を受けるクエリーの結果を説明します。

この実装は、パターンを表すことができるパラメーターを取るメソッドに適用されます。これらのパラメーター名の形式は次のとおりです。

attributePattern

getColumns() メソッドなど、java.sql.DatabaseMetaData クラスの多くのメソッドが影響を受けます。

別の例として、スキーマはパラメーター schemaPattern の属性であり、このパラメーターは java.

sql.ResultSet.getAttributes メソッドのパラメーターです。

public ResultSet getAttributes(String catalog, String schemaPattern, String typeNamePattern, String attributeNamePattern) throws SQLException

アプリケーションが NULL 値を渡すと、NULL は次のように処理されます。

● パラメーター名にサフィックス Pattern が含まれる場合、NULL はワイルドカード % と解釈されます。

● パラメーター名にサフィックス Pattern が含まれない場合、NULL はこのパラメーターのデフォルト値と解釈されます。

この例では、NULL パラメーターは次のように解釈されます。

catalog

デフォルトのカタログ名schemaPattern

% ワイルドカード。指定されたカタログのすべてのスキーマのデータを取得します。

タイプ 4 ドライバーの SQL データ型へのコンフォーマンス

JDBC データ型

JDBC データ型次の表は、タイプ 4 ドライバーでサポートされる JDBC データ型とそれらに対応する SQL/MX データ型です。

JDBC データ型JDBC Type 4 Driver for NonStop SQL/MX によるサポート

SQL/MX データ型

Types.Array なし なし

Types.BIGINT あり LARGEINT

Types.BINARY

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

CHAR(n)¹

Types.BIT

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

CHAR(1)

Types.BLOB あり LARGEINT

Types.CHAR あり CHAR(n)

Types.CLOB あり LARGEINT

Types.DATE あり DATE

Types.DECIMAL あり DECIMAL(p,s)

Types.DISTINCT なし なし

Types.DOUBLE あり DOUBLE PRECISION

Types.FLOAT あり FLOAT(p)

Types.INTEGER あり INTEGER

Types.JAVA_OBJECT なし なし

Types.LONGVARBINARY

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

VARCHAR(n)¹

Types.LONGVARCHARあり

最大長は 4018 です。 VARCHAR[(n)]

Types.NULL なし なし

Types.NUMERIC あり NUMERIC(p,s)

Types.REAL あり FLOAT(p)

Types.REF なし なし

Types.SMALLINT あり SMALLINT

Types.STRUCT なし なし

Types.TIME あり TIME

Types.TIMESTAMP あり TIMESTAMP

Types.TINYINT

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

SMALLINT

Types.VARBINARY

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

VARCHAR(n)¹

Types.VARCHAR あり VARCHAR(n)

Types.BOOLEAN

データ型は SQL/MX でマップされます。データ型はテーブル作成で使用されたものから変化します。

CHAR(1)

Types.DATALINK なし なし

¹ SQL/MX が提供するマッピングの理由により、ResultSet.getObject() メソッドはバイト列の代わりに文字列オブジェクトを返します。

タイプ 4 ドライバーは、次のデータ型を JDBC データ型 Types.OTHER にマップします。

SQL/MX データ型 SQL/MP データ型

INTERVAL YEAR(p) DATETIME YEAR

INTERVAL YEAR(p) TO MONTH DATETIME YEAR TO MONTH

INTERVAL MONTH(p) DATETIME YEAR TO HOUR

INTERVAL DAY(p) DATETIME YEAR TO MINUTE

INTERVAL DAY(p) TO HOUR DATETIME MONTH

INTERVAL DAY(p) TO MINUTE DATETIME MONTH TO DAY

INTERVAL DAY(p) TO SECOND DATETIME MONTH TO HOUR

INTERVAL HOUR(p) DATETIME MONTH TO SECOND

INTERVAL HOUR(p) TO MINUTE DATETIME DAY

INTERVAL HOUR(p) TO SECOND DATETIME DAY TO HOUR

INTERVAL MINUTE(p) DATETIME DAY TO MINUTE

INTERVAL MINUTE(p) TO SECOND DATETIME DAY TO SECOND

INTERVAL SECOND(p) DATETIME HOUR

DATETIME HOUR TO MINUTE

DATETIME MINUTE

DATETIME MINUTE TO SECOND

DATETIME SECOND

DATETIME FRACTION

浮動小数点のサポートタイプ 4 ドライバーは、アプリケーションクライアントとタイプ 4 ドライバーとの間で渡される IEEE

浮動小数点データのみをサポートします。

注意:

SQL/MP の Tandem 浮動小数点形式のカラムへのデータアクセス、またはそのようなカラムからのデータアクセスが発生すると、データの精度が損なわれる可能性があります。

SQLJ のサポートタイプ 4 ドライバーは、カスタマイズされていない SQLJ アプリケーションをサポートしますが、カスタマイズされた SQLJ アプリケーションはサポートしません。

サポートされない NonStop SQL 機能

サポートされない SQL/MX 機能サポートされない SQL/MP 機能

サポートされない SQL/MX 機能

● MXCI コマンド ● SQL/MX ユーティリティコマンド

● SQL ステートメント

❍ トランザクション制御ステートメント

❍ プリペア済み SQL ステートメント (PREPARE と EXECUTE)

❍ リソース制御および最適化ステートメント

❍ オブジェクト命名ステートメント

❍ エイリアスステートメント

サポートされる機能の完全なリストは、NonStop SQL/MX のマニュアルを参照してください。

サポートされない SQL/MP 機能

● SQL/MP DDL のサポート ● 文字セット ISO8859/2 ~ ISO8859/9 で説明するカラム

● ユーティリティコマンド ● 埋め込み専用 SQL/MP ステートメント

● トランザクション制御ステートメント

● ストアドプロシージャー

サポートされる機能の完全なリストは、NonStop SQL/MP のマニュアルを参照してください。

その他のサポートされない機能以下の機能は JDBC 3.0 コンプライアンスには必須ではありません。これらは NonStop JDBC タイプ

4 ドライバーではサポートされません。

● バッチステートメントで返される複数の結果セット

● データベースセーブポイントのサポート(SQL/MX では提供されません)

● 自動生成されたキーの取得.

● 変換グループとタイプマッピング

● コネクターアーキテクチャーと JDBC 3.0 SPI. との関係

● NonStop JDBC タイプ 4 ドライバーと MXCS とのソケット通信の保護またはやりとりの暗号化

● AppServer から NonStop JDBC タイプ 4 ドライバーへのセキュリティコンテキスト (ユーザー名とパスワード) の暗黙の伝達

● IPv6 プロトコルスタック(IPV6 アドレッシングは MXCS サーバーサイド上の IPV4 でエミュレートされます)

制限

● タイプ 4 ドライバーは、NonStop SQL/MX と SPJ でサポートするデータベース機能のみをサポートします。そのため、タイプ 4 ドライバーは JDBC 3.0 仕様に完全には準拠しません。

● タイプ 4 ドライバーは、すべてのサーバーサイドの管理関連機能の MXCS によって異なります。

戻る 上へ 進む第 7 章 モジュールファイルキャッシュ (MFC)

ホーム 第 9 章 トレース機能とロギング機能

マニュアル番号 529651-006J Legal Notice

第 9 章 トレース機能とロギング機能戻る 進む

第 9 章 トレース機能とロギング機能標準の JDBC トレース機能とロギング機能タイプ 4 ドライバーのロギング機能

タイプ 4 ドライバーのロギング機能へのアクセスタイプ 4 ドライバーのログ出力の制御メッセージ形式ログ出力の例

タイプ 4 ドライバーは、次の 2 つのトレース機能とロギング機能を提供します。

● JDBC 標準規格により定義された標準の JDBC トレース機能とロギング機能

● タイプ 4 ドライバーのロギング機能

MXCS (サーバー側) トレース (ログ) は、MXCS を構成することにより有効化されます。MXCS トレースについては、NSM/Web のオンラインヘルプを参照してください。

標準の JDBC トレース機能とロギング機能JDBC 標準規格は、ロギング機能とトレース機能を提供しており、ログライターを設定することにより JDBC メソッドコールのトレースが可能になります。ログライターを設定するには、DriverManager クラスの setLogWriter

() メソッドを呼び出すか、DataSource クラス (または ConnectionPoolDataSource クラス) の setLogWriter

() メソッドを呼び出します。

● DriverManager のログライターは、DriverManager によって作成されたすべての接続のすべてのログメッセージおよびトレースメッセージの出力先となる文字出力ストリームです。このストリームには、その接続のメソッドによって出力されたメッセージ、その接続によって作成されたその他のオブジェクトのメソッドにより出力されたメッセージなどが含まれます。DriverManager のログライターは、初期状態では null になっています。つまり、デフォルトではログが無効化されています。

setLogWriter メソッドの使い方については、DriverManager クラス API のページ (http://java.sun.com/

j2se/1.4.2/docs/api/java/sql/DriverManager.html) を参照してください。

● DataSource のログライターは、そのデータソースのすべてのログメッセージおよびトレースメッセージの出力先となる文字出力ストリームです。このストリームには、そのオブジェクトのメソッドによって出力されたメッセージ、そのオブジェクトによって作成されたその他のオブジェクトのメソッドにより出力されたメッセージなどが含まれます。データソース固有のログライターに出力されたメッセージは、java.sql.

DriverManager クラスに関連付けられているログライターには出力されません。DataSource オブジェクトが作成された時点では、ログライターはヌルになっています。つまり、デフォルトではログが無効化されています。

setLogWriter() メソッドの使い方については、DataSource インターフェイス API のページ (http://java.sun.

com/j2se/1.4.2/docs/api/javax/sql/DataSource.html) を参照してください。

タイプ 4 ドライバーのロギング機能

タイプ 4 ドライバーのロギング機能へのアクセスタイプ 4 ドライバーのログ出力の制御メッセージ形式ログ出力の例

タイプ 4 ドライバーのロギング機能では、内部トレース情報を取り出すことができます。この情報は、ドライバーのデバッグに使用できます。このロギング機能では、エラーメッセージと警告メッセージも取得できます。

タイプ 4 ドライバーは、標準の JDBC トレースおよびロギング機能に加えて、独立したロギング機能 (タイプ 4 ドライバーログ) を提供します。タイプ 4 ドライバーのログは、標準の JDBC トレースおよびロギング機能と同じレベルのログとトレースを提供しますが、以下の情報が加えられています。

● タイプ 4 ドライバーの内部に関するより詳細な情報および内部トレース情報

● タイプ 4 ドライバーのパフォーマンスチューニング情報

● ログに出力される情報の量と種類のより細かい制御

● エラーメッセージと警告メッセージ

タイプ 4 ドライバーのロギング機能へのアクセスタイプ 4 ドライバーのロギング機能は、java.util.logging パッケージに基づいています。タイプ 4 ドライバーは、java.util.logging.Logger クラスのインスタンスを生成し、ロガー com.tandem.t4jdbc.logger に名前を与えます。

JDBC プログラムは、java.util.logging.Logger の静的メソッド getLogger(String) を呼び出すことにより、タイプ 4 のドライバーロガーに直接アクセスできます。例を示します。

String t4Logger = java.util.logging.Logger.getLogger(“com.tandem.t4jdbc.logger”);

タイプ 4 ドライバーのログ出力の制御タイプ 4 ドライバーには、ログ出力の制御に使用できる 2 つのプロパティが用意されています。

● T4LogLevel — 出力するログのレベルを指定します。このプロパティの使用方法については、「T4LogLevel

プロパティ」を参照してください。

● T4LogFile — ドライバーによるログ情報の書き込み先とするファイルを指定します。このプロパティの使用方法については、「T4LogFile プロパティ」を参照してください。

アプリケーションで複数のプロパティ値を設定した場合にどの設定値が適用されるかについては、「プロパティ指定の優先順位」を参照してください。

メッセージ形式トレース出力の形式は、次のようになります。

sequence-number ~ time-stamp ~ thread-id ~ [connection-id] ~ [server-id] ~ [dialogue-id] ~ [class].[method][(parameters)] ~ [text]

sequence-number

1 つずつ増えていく一意のシーケンス番号。time-stamp

メッセージの時間。例: 10/17/2004 12:48:23thread-id

JVM 内でのスレッド識別子。connection-id

メッセージに関連付けられている接続の一意の ID (該当する場合)。server-id

メッセージに関連付けられている MXCS サーバーに関する情報 (該当する場合)。server-id の形式は、次のとおりです。

TCP:node-name.server-name/port-number:NonStopODBC

各構文要素は次のとおりです。node-name

NonStop サーバーノードの名前。server-name

サーバーの Guardian 名。port-number

サーバーが接続されているポート。

次に例を示します。

TCP:¥banshee-tcp.$Z0133/46003:NonStopODBC

dialogue-id

MXCS 接続に使用される dialogue-id (該当する場合)。class

ログ要求を発行したクラスの名前 (該当する場合)。method

ログ要求を発行したメソッドの名前 (該当する場合)。parameters

メソッドに関連付けられている一連のオプションパラメータ。text

メッセージのオプションテキスト情報。

注意:

メッセージの各部は波ダッシュ文字 (~) で区切られています。この区切り文字により、Excel、Word、UNIX ソートなどのツールでメッセージの形式を整えることが可能になります。たとえば、シーケンス番号やスレッド ID に基づいてメッセージの形式を整えて並べ替えたりできます。ログファイルを編集すれば、区切り文字 (波ダッシュ) をその他の任意の文字に変更することもできます。可能な場合には、数字 (thread-id、sequence-number など) の先頭にゼロ (0) を付加すると見やすくなります。

ログ出力の例

● T4LogLevel を SEVERE に設定した場合の出力

0000001 ~ 10/22/2004 10:22:19 ~ 001234 ~ 0049934 ~ ~ ~ ~ SQLException Operation cancelled. SQLSTATE = S1008SQLCODE = 01118

● T4LogLevel を FINER に設定した場合の出力

0000006 ~ 10/22/2004 10:34:45 ~ 001234 ~ 0049934 ~ FetchRowSetMessage ~ marshal ~ Entering FetchRowSetMessage.marshal( en_US , 48345 , STMT_MX_8843 , 5 , 4192, , 0 , 0 )

戻る 上へ 進む第 8 章 タイプ 4 ドライバーコンプライアンス ホーム 第 10 章 移行と互換性

マニュアル番号 529651-006J Legal Notice

第 10 章 移行と互換性 戻る 進む

第 10 章 移行と互換性 JDBC ドライバーサードパーティ製データベースオペレーティングシステム 互換性

JDBC ドライバー移行元のドライバー

コードの変更

構成の変更 考慮事項

JDBC タイプ 3 ドライバー

なしurl、catalog、schema、ロギング機能

なし

JDBC Driver for

SQL/MX (JDBC/

MX)、タイプ 2 ドライバー

なし

url、catalog、schema、ロギング機能、プロパティ値の変更が必要な可能性あり (「タイプ 4

ドライバーのプロパティ」で確認してください。)

以下のものを使用しているアプリケーションは移植できません。

● HP 拡張 cpqPrepare

● CLOB データ内の Unicode (未サポート)

● 自動コミットがオンになった LOB

(未サポート)

SequeLink JDBC ドライバー

なしurl、catalog、schema、ロギング機能

SequeLink 固有の機能を使用しているアプリケーションは、移植できません。

NonStop JDBC タイプ 4 ドライバー、バージョン 1.0

なし

プロパティ値の変更が必要な可能性あり (「タイプ 4 ドライバーのプロパティ」で確認してください。

ログ用のデフォルトのファイル名が変更されています。詳細については、「t4LogFile プロパティ」 を参照してください。

サードパーティ製データベースアプリケーションに、SQL/MX でサポートされている機能およびデータ型との互換性が必要です。

サードパーティ製データベース用にカスタマイズされた固有の機能やデータ型を使用しているアプリケーションは、タイプ 4 ドライバーで動作するには修正が必要です。SQL/MX でサポートされている機能およびデータ型については、『SQL/MX リファレンス・マニュアル』を参照してください。

オペレーティングシステムNonStop SQL/MX にアクセスする NonStop JDBC タイプ 4 ドライバーアプリケーションはすべて、アプリケーションに一切変更を加えることなく、サポートされているプラットフォーム間での移行を行えます (たとえば PC から HP-UX へなど)。

互換性JDBC タイプ 4 ドライバー 2.0 は、JDK 1.4.2 および BLOB がサポートされている SQLMX リリースと互換性があります。

戻る 上へ 進む第 9 章 トレース機能とロギング機能 ホーム 第 11 章 メッセージ

マニュアル番号 529651-006J Legal Notice

第 11 章 メッセージ戻る 進む

第 11 章 メッセージメッセージフォーマットについてタイプ 4 ドライバーのエラーメッセージ

メッセージフォーマットについてメッセージは、SQLCODE 番号の順にリストされています。説明には、次の項目が含まれます。

SQLCODE SQLSTATE message-text

Cause [ What occurred to trigger the message.] Effect [ What is the result when this occurs. ] Recovery [ How to diagnose and fix the problem. ]

タイプ 4 ドライバーのエラーメッセージ29001 HYC00 Unsupported feature - {0}

原因: リストされた機能は、JDBC ドライバーではサポートされません。

結果: サポートされいていない例外が発生し、ヌルの resultSet が返されます。

リカバリ: プログラムから、この機能を除去します。

29002 08003 Connection does not exist

原因: データベースへの接続がクローズされているときに、アクションを実行しようとしました。

結果: データベースにアクセスできません。

リカバリ: データベースへの接続が確立した後、もう一度アクションを実行してください。

29003 HY000 Statement does not exist

原因: 閉じたステートメントに対して、ゲッターまたはエグゼックの呼び出しで妥当性の検査を行おうとしました。

結果: ゲッターまたはエグゼックの呼び出しで妥当性検査が失敗します。

リカバリ: ステートメントが開いているときに、validateGetInvocation() または

validateExecDirectInvocation を発行してください。

29004 HY024 Invalid transaction isolation value

原因: トランザクション分離レベルに無効な値を設定しようとしました。

結果: SQLMXConnection.setTransactionIsolation トランザクション分離レベルが設定されません。

リカバリ: 有効な分離レベルは、SQL_TXN_READ_COMMITTED、SQL_TXN_READ_UNCOMMITTED、

SQL_TXN_REPEATABLE_READ、および SQL_TXN_SERIALIZABLE です。分離レベルを指定しないと、デフォルトの SQL_TXN_READ_COMMITTED になります。

29005 HY024 Invalid ResultSet type

原因: 無効な ResultSet タイプ値を設定しようとしました。

結果: resultSetType パラメーターを指定した SQLMXStatement コールが失敗します。

リカバリ: 有効な ResultSet タイプは、TYPE_FORWARD_ONLY、TYPE_SCROLL_INSENSITIVE、および TYPE_SCROLL_SENSITIVE です。

29006 HY000 Invalid Result Set concurrency

原因: 無効な結果セット同時実行値を設定しようとしました。

結果: resultSetConcurrency での SQLMXStatement コールが失敗します。

リカバリ: 有効な resultSetConcurrency 値は CONCUR_READ_ONLY と CONCUR_UPDATABLE です。

29007 07009 Invalid descriptor index

原因: ResultSetMetadata カラムパラメーターまたは ParameterMetaData param パラメーターが、ディスクリプタの範囲外にあります。

結果: ResultSetMetadata メソッドまたは ParameterMetaData メソッドのデータが想定どおりに返されません。

リカバリ: メソッドに渡すカラムまたはパラメーターを確認してください。

29008 24000 Invalid cursor state

原因: 接続が閉じているときに、ResultSet メソッドが呼び出されました。

結果: メソッドコールは成功しません。

リカバリ: ResultSet メソッドコールを実行する前に、接続がオープンされていることを確認してください。

29009 HY109 Invalid cursor position

原因: ResultSetローカーソルが挿入ローにあるときに、deleteRow() メソッドまたは updateRow

() メソッドまたは cancelRowUpdates メソッドを実行しようとしました。または、ResultSet

ローカーソルが挿入ローにないときに、insertRow() メソッドを実行しようとしました。

結果: ローの変更とカーソル操作が成功しません。

リカバリ: ローを挿入するには、カーソルをその挿入ローに移動します。ローを削除、キャンセル、または更新するには、カーソルを挿入ローから移動します。

29010 07009 Invalid column name

原因: カラム検索に、columnName 文字列が含まれていません。

結果: カラム検索または比較が成功しません。

リカバリ: findColumn() メソッド、validateGetInvocation() メソッド、および

validateUpdInvocation() メソッドに、有効な columnName 文字列を指定します。

29011 07009 Invalid column index or descriptor index

原因: 有効な範囲外のカラムパラメーターを持つ ResultSet メソッドが発行されました。

結果 ResultSet メソッドデータが、想定どおりに返されません。

リカバリ: メソッドに渡すカラムの妥当性を検査してください。

29012 07006 Restricted data type attribute violation

原因: 無効なデータ型が設定されいるか、またはデータ型が SQL カラムタイプと一致しない場合に、メソッドを実行しようとしました。

結果: インターフェイスメソッドは実行されません。

リカバリ: カラムタイプに対して、正しいメソッドと Java データ型が使用されていることを確認してください。

29013 HY024 Fetch size is less than 0

原因: フェッチする ResultSet.setFetchSize ローのサイズが、ゼロより小さくなっています。

結果: ResultSet オブジェクト用にさらに多くのローが必要なった場合、データベースからフェッチする必要のあるロー数が設定されていません。

リカバリ: setFetchSize() メソッドのローパラメーターに、ゼロより大きい値を設定します。

29015 HY024 Invalid fetch direction

原因: setFetchDirection() メソッドの方向パラメーターに無効な値が設定されています。

結果: ResultSet オブジェクト内のローを処理する方向が設定されていません。

リカバリ: 有効なフェッチ方向は、ResultSet.FETCH_FORWARD、ResultSet.FETCH_REVERSE、および ResultSet.FETCH_UNKNOWN です。

29017 HY004 SQL data type not supported

原因: BINARY、VARBINARY、または LONGVARBINARY データ型を使用して、サポートされていない

getBytes() または setBytes() JDBC メソッドコールが発行されました。

結果: BINARY、VARBINARY、および LONGVARBINARY データ型はサポートされていません。

リカバリ: 単なる通知メッセージです。修正アクションは必要ありません。

29018 22018 Invalid character value in cast specification

原因: 文字列を数値型に変換しようとしましたが、文字列のフォーマットが適切ではありません。

結果: ゲッターメソッドを通して取得した文字列は、そのメソッド型にキャストできません。

リカバリ: データベース内の文字列の妥当性検査を行い、互換性のある型であることを確認します。

29019 07002 Parameter {0, number, integer} for {1, number, integer} set of parameters is not set

原因: 入力ディスクリプタに、値の設定されていないパラメーターが含まれています。

結果: method checkIfAllParamsSet() は、設定されていないパラメーターを報告します。

リカバリ: リストされたパラメーターに値を設定します。

29020 07009 Invalid parameter index

原因: ゲッターメソッドまたはセッターメソッドのパラメーターカウントインデックスが、有効な入力ディスクリプタの範囲外、または入力ディスクリプタ範囲がヌルです。

状況: ゲッターメソッドおよびセッターメソッドの呼び出しで妥当性検査が失敗します。

リカバリ: ゲッターまたはセッターのパラメーターインデックスを有効なパラメーター値に変更します。

29021 HY004 Object type not supported

原因: PreparedStatement.setObject() メソッドコールに、サポートされいないオブジェクトタイプが含まれます。

結果: setObject() メソッドは、指定されたパラメーターに値を設定しません。

リカバリ: 単なる通知メッセージです。修正アクションは必要ありません。有効なオブジェクトタイプは、null、BigDecimal、Date、Time、Timestamp、Double、Float、Long、Short、Byte、Boolean、String、byte[]、Clob、および Blob です。

29022 HY010 Function sequence error

原因: PreparedStatement.execute() メソッドは、PreparedStatement.addBatch() メソッドの使用をサポートしていません。

結果: 例外が報告されます。操作は完了しません。

リカバリ: PreparedStatement.executeBatch() メソッドを使用します。

29026 HY000 Transaction can't be committed or rolled back when AutoCommit mode is on

原因: AutoCommit モードが有効な場合に、トランザクションをコミットしようとしました。

結果: トランザクションはコミットされません。

リカバリ: AutoCommit を無効にします。AutoCommit モードが無効な場合にのみ、このメソッドを使用してください。

29027 HY011 SetAutoCommit not possible, since a transaction is active

原因: トランザクションがアクティブな場合に、setAutoCommit() モードを呼び出そうとしました。

結果: 現在の AutoCommit モードは変更されません。

リカバリ: トランザクションを完了し、次に AutoCommit を設定してください。

29029 HY011 SetTransactionIsolation not possible, since a transaction is active

原因: トランザクションがアクティブな場合に、トランザクション分離レベルを設定しようとしました。

結果: この Connection オブジェクトに対するトランザクション分離レベルの変更が失敗します。

リカバリ: トランザクションを完了し、次にトランザクション分離レベルを設定してください。

29031 HY000 SQL SELECT statement in batch is illegal

原因: executeBatch() メソッドで SQL の SELECT ステートメントが使用されています。

結果: 例外が報告されます。SQL の SELECT クエリは、バッチクエリでは使用できません。

リカバリ: SQL の SELECT ステートメントを発行するには、executeQuery() メソッドを使用してください。

29032 23000 Row has been modified since it is last read

原因: カーソルが入力ローにあるときに、ResultSet オブジェクトローを更新または削除しようとしました。

結果: ResultSet ローの修正は成功しません。

リカバリ: ローを変更する前に、ローから ResultSet オブジェクトカーソルを移動してください。

29033 23000 Primary key column value can't be updated

原因: テーブル内で、プライマリキーカラムを更新しようとしました。

結果: カラムは更新されません。

リカバリ: プライマリキー定義を更新することはできず、またカラム定義内で NOT NULL 句を省力した場合であっても、ヌル値を格納することはできません。

29035 HY000 IO Exception occurred {0}

原因: ASCII またはバイナリまたは文字ストリームセッターまたはアップデーターメソッドで java.

io.IOException が発生します。

結果: 指定されたセッターまたはアップデーターメソッドは、ASCII または バイナリまたは文字ストリームを修正しません。

リカバリ: 単なる通知メッセージです。修正アクションは必要ありません。

29036 HY000 Unsupported encoding {0}

原因: 文字エンコーディングはサポートされていません。

結果: 要求された文字エンコーディングがサポートされていない場合、例外が発生します。

リカバリ: サポートされている文字エンコーディングは、ASCII (ISO88591)、KANJI、KSC5601、および UCS2 のみです。SQL/MP テーブルは、UCS2 文字エンコーディングをサポートしていません。

29037 HY106 ResultSet type is TYPE_FORWARD_ONLY

原因: オブジェクトタイプが TYPE_FORWARD_ONLY に設定されているときに、ResultSet カーソルが直前のローを指そうとしました。

結果: ResultSet オブジェクトカーソルの操作は実行されません。

リカバリ: TYPE_FORWARD_ONLY ResultSet オブジェクトタイプのカーソルは、前方にのみ移動できます。TYPE_SCROLL_SENSITIVE タイプと TYPE_SCROLL_INSENSITIVE タイプはスクロール可能です。

29038 HY107 Row number is not valid

原因: ロー番号に 0 を設定して、ResultSet absolute() メソッドが呼び出されました。

結果: カーソルは、指定されたロー番号に移動しません。

リカバリ: 正のロー番号 (結果セットの先頭からカウントしてロー番号を指定) を指定するか、または負のロー番号 (結果セットの末尾からカウントしてロー番号を指定) を指定します。

29039 HY092 Concurrency mode of the ResultSet is CONCUR_READ_ONLY

原因: 同時実行性に CONCUR_READ_ONLY が指定されているため、更新できない ResultSet オブジェクトにアクションを実行しようとしました。

結果: 現在の ResultSet オブジェクトは変更されません。

リカバリ: 更新のためには、ResultSet オブジェクトの同時実行性に CONCUR_UPDATABLE を設定する必要があります。

29040 HY000 Operation invalid.Current row is the insert row

原因: 現在の挿入ローの更新、削除、または挿入情報に対して、検索を行おうとしました。

結果: ResultSet ロー情報の検索は成功しません。

リカバリ: ロー情報を検索するには、ResultSet オブジェクトカーソルを、挿入ローから移動してください。

29041 HY000 Operation invalid.No primary key for the table

原因: プライマリキーカラムを定義せずに作成したテーブルに対する getKeyColumns() メソッドが失敗しました。

結果: テーブルに関するプライマリキーデータが返されません。

リカバリ: プライマリキーカラムを含むように、テーブルを変更してください。

29042 HY000 Fetch size value is not valid

原因: フェッチローサイズに、0 より小さい値を設定しようとしました。

結果: さらに多くのローが必要なった場合、データベースからフェッチする必要のあるロー数が設定されていません。

リカバリ: setFetchSize() メソッドに関して、0 以上の有効なロー値を指定してください。

29043 HY000 Max rows value is not valid

原因: 任意の ResultSet オブジェクトが格納できる最大ロー数に、0 より小さい制限を設定しようとしました。

結果: 最大ロー数の制限が設定されません。

リカバリ: setMaxRows() メソッドに対して、0 以上の有効な値を使用してください。

29044 HY000 Query timeout value is not valid

原因: ドライバーが Statement オブジェクトの実行を待ち合わせる秒数に、0 より小さい値を設定しようとしました。

結果: クエリタイムアウト制限が設定されません。

リカバリ: setQueryTimeout() メソッドに対して、0 以上の有効な値を指定してください。

29045 01S07 Fractional truncation

原因: ResultSet ゲッターメソッドによって検索されたデータが切り捨てられました。

結果: 検索されたデータが切り捨てられます。

リカバリ: 検索対象のデータが、有効なデータ型の範囲内であることを確認してください。

29046 22003 Numeric value out of range

原因: ResultSetゲッターメソッドから検索された値が、データ型の範囲外にあります。

結果: ResultSet ゲッターメソッドは、データを検索しません。

リカバリ: 検索対象のデータが、有効なデータ型の範囲内であることを確認してください。

29047 HY000 Batch update failed.See next exception for details

原因: バッチ更新のコマンドの 1 つが、正しく実行されませんでした。

結果: すべてのバッチ更新コマンドのうち、いくつか正しく実行されません。詳細については、それに

続いて発生する例外を参照してください。

リカバリ:可能なリカバリアクションについては、後続の例外を確認してください。

29048 HY009 Invalid use of null

原因: テーブル名の想定されているパラメーターにヌルが設定されています。

結果: DatabaseMetadata メソッドは、結果を全く報告しません。

リカバリ:DatabaseMetaData メソッドに対して、ヌル以外の有効なテーブル名を指定してください。

29049 25000 Invalid transaction state

原因: トランザクションの処理中に、begintransaction() メソッドが呼び出されました。

結果: トランザクションは開始されません。

リカバリ: begintransaction() メソッドを呼び出す前に、その時点で他のトランザクションが開始されていないか確認してください。

29050 HY107 Row value out of range

原因: 検索された getCurrentRow の呼び出しが、最初および最後のローの範囲外にあります。

結果: 現在のローは検索されません。

リカバリ: 単なる情報メッセージです。リカバリは必要ありません。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29051 01S02 ResultSet type changed to TYPE_SCROLL_INSENSITIVE

原因: 結果セットタイプが変更されました。

結果: なし。

リカバリ: このメッセージは、SQL 警告として報告されます。単なる通知メッセージです。リカバリは必要ありません。

29053 HY000 SQL SELECT statement is invalid in executeUpdate() method

原因: executeUpdate() メソッドで SQL の SELECT ステートメントが使用されました。

結果: SQL query not performed 例外が報告されます。

リカバリ: SQL の SELECT ステートメントを発行するには、executeQuery() メソッドを使用してください。

29054 HY000 Only SQL SELECT statements are valid in executeQuery() method

原因: executeQuery() メソッドで SQL の SELECT ステートメントが使用されました。

結果: 報告される例外は、"SQL query not performed" です。

リカバリ: SQL の SELECT ステートメント以外を発行するには、executeUpdate() メソッドを使用してください。

29056 HY000 Statement is already closed

原因: 閉じたステートメントに対して、validateSetInvocation() メソッドまたは

validateExecuteInvocation メソッドが使用されました。

結果: ステートメントの妥当性検査が失敗し、例外を返します。

リカバリ: validateSetInvocation() メソッドまたは validateExecuteInvocation メソッドは、ステートメントを閉じる前に使用してください。

29057 HY000 Auto generated keys not supported

原因: 自動生成キー機能を使用しようとしました。

結果: 使用を試みても成功しません。

リカバリ: 自動生成キー機能は、サポートされていません。

29058 HY000 Connection is not associated with a PooledConnection object

原因: PooledConnection オブジェクトが確立する前に、getPooledConnection() メソッドが呼び出されました。

結果: プールから接続を検索できません。

リカバリ: getPooledConnection() メソッドを使用する前に、PooledConnection オブジェクトが確立されていることを確認してください。

29059 HY000 'blobTableName' property is not set or set to null value or set to invalid value

原因: t4sqlmx.blobTableName プロパティを設定せずに、または無効な値を設定して BLOB カラムにアクセスしようとしました。

結果: このアプリケーションは、BLOB カラムにアクセスできません。

リカバリ: t4sqlmx.blobTableName プロパティに、有効な LOB テーブル名を設定します。LOB

テーブル名のフォーマットは、catalog.schema.lobTableName です。

29060 HY000 't4sqlmx.clobTableName' property is not set or set to null value or set to invalid value

原因: t4sqlmx.clobTableName プロパティを設定せずに、またはこのプロパティにヌル値または無効な値を設定して、CLOB カラムにアクセスしようとしました。

結果: このアプリケーションは、 CLOB カラムにアクセスできません。

リカバリ: t4sqlmx.clobTableName プロパティに、有効な LOB テーブル名を設定します。LOB

テーブル名のフォーマットは、catalog.schema.lobTableName. です。

29061 HY00 Lob object {0} is not current

原因: LOB データを取得した結果セットからカーソルを移動した後、またはその結果セットを閉じた後、LOB カラムデータにアクセスしようとしました。

結果: このアプリケーションは、 LOB データにアクセスできません。

リカバリ: 結果セットオブジェクトからカーソルを移動するまか、または結果セットオブジェクトを閉じる前に LOB データを読み取ってください。

29063 HY00 Transaction error {0} - {1} while obtaining start data locator

原因: LOB カラムの挿入中または更新中に、JDBC/MX ドライバーが、指定されたプロセスのデータロケーターを予約しようとして、トランザクションエラーが発生しました。

結果: アプリケーションは、LOB カラムを挿入または更新できません。

リカバリ: メッセージ内のファイルシステムエラーをチェックし、それに従ってリカバリアクションを実行してください。

29067 07009 Invalid input value in the method {0}

原因: 指定されたメソッド内の 1 つまたは複数の入力値が無効です。

結果: 指定された入力メソッドが失敗します。

リカバリ: 指定されたメソッドの入力値をチェックしてください。

29068 07009 The value for position can be any value between 1 and one more than the length of the LOB data

原因: Blob.setBinaryStream、Clob.setCharacterStream、または Clob.setAsciiStream

内の位置入力値は、1 と LOB データの長さに 1 を足した値の間の値を取ることができます。

結果: アプリケーションは、指定された位置に LOB データを書き込むことができません。

リカバリ: 位置入力値を訂正します。

29069 HY000 Autocommit is on and LOB objects are involved.

原因: 実行された自動コミットが有効なときに、LOB カラムにアクセスしようとしました。

結果: このアプリケーションは、 LOB カラムにアクセスできません。

リカバリ: 自動コミットモードを無効にします。

29100 HY000 An internal error occurred.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29101 HY000 Contact your HP service provider.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29102 HY000 Error while parsing address address

原因: アドレスフォーマットが認識されません。

結果: 操作が失敗します。

リカバリ: 有効なアドレスフォーマットについては、url プロパティを参照してください。

29103 HY000 Address is null

原因: アドレスが空です。

結果: 操作が失敗します。

リカバリ: 有効なアドレスフォーマットについては、url プロパティを参照してください。

29104 HY000 Expected suffix: suffix

原因: アドレスサフィックスが正しくないか、または欠落しています。

結果: 操作が失敗します。

リカバリ: 有効なアドレスフォーマットについては、url プロパティを参照してください。

29105 HY000 Unknown prefix for address

原因: アドレスプレフィックスが正しくないか、または欠落しています。

結果: 操作が失敗します。

リカバリ: 有効なアドレスフォーマットについては、url プロパティを参照してください。

29106 HY000 Expected address format: jdbc:subprotocol::subname

原因: 適用なし。

結果: 適用なし。

リカバリ: これは通知メッセージです。有効なアドレスフォーマットについては、url プロパティを参照してください。

29107 HY000 Address not long enough to be a valid address.

原因: アドレス長が短すぎて、有効なアドレスになりません。

結果: 操作が失敗します。

リカバリ: 有効なアドレスフォーマットについては、url プロパティを参照してください。

29108 HY000 Expecting ¥¥<machine name><process name>/<port number>.

原因: MXCS アドレスフォーマットが無効です。

結果: 操作が失敗します。

リカバリ: MXCS Association Server によって返されたアドレスが、想定したフォーマットではありません。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29109 HY000 //<{IP Address|Machine Name}[:port]/database name>

原因: 通知メッセージ。

結果: 適用なし。

リカバリ: 適用なし。

29110 HY000 Address is missing an IP address or machine name.

原因: IP アドレスまたはマシン名が必要ですが、欠落しています。

結果: 操作が失敗します。

リカバリ: 有効な IP アドレスまたはマシン名を入れます。有効なアドレスフォーマットについては、url プロパティを参照してください。

29111 HY000 Unable to evaluate address address Cause: cause

原因: ドライバーが、ホストの IP アドレスを判断できません。

結果: 操作が失敗します。

リカバリ: アドレスまたはマシン名が正しく修飾されていないか、またはセキュリティの制約が存在します。java.net.InetAddress クラスの getAllByName メソッドの説明を参照してください。有効な IP アドレスまたはマシン名を入れます。有効なアドレスフォーマットについては、url プロパティを参照してください。

29112 HY000 Missing ']'.

原因: ドライバーが、ホストの IP アドレスを判断できません。

結果: 操作が失敗します。

リカバリ: アドレスまたはマシン名が正しくフォーマットされていない可能性があります。正しいアド

レスフォーマットについては、[ここに sqlx.htm#url へのリンクを挿入] の url を参照してください。

29113 HY000 Error while opening socket. Cause: cause

原因: ソケットエラー。

結果: 操作が失敗します。

リカバリ: 例外に対して getCause メソッドを使用して、適切なリカバリアクションを判断します。

29114 HY000 Error while writing to socket.

原因: ソケット書き込みエラー。

結果: 操作が失敗します。

リカバリ: 例外に対して getCause メソッドを使用して、適切なリカバリアクションを判断します。

29115 HY000 Error while reading from socket. Cause: cause

原因: ソケット読み取りエラー。

結果: 操作が失敗します。

リカバリ: 例外に対して getCause メソッドを使用して、適切なリカバリアクションを判断します。

29116 HY000 Socket is closed.

原因: ソケットクローズエラー。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29117 HY000 Error while closing session. Cause: cause

原因: セッションのクローズ中にエラーが発生しました。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29118 HY000 A write to a bad map pointer occurred.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29119 HY000 A write to a bad par pointer occurred.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29120 HY000 An association server connect message error occurred.

原因: MXCS Association Server に接続できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクション

を判断します。

29121 HY000 A close message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: 例外に関する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29122 HY000 An end transaction message error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29123 HY000 An execute call message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29124 HY000 An execute direct message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29125 HY000 An execute direct rowset message error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29126 HY000 An execute N message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29127 HY000 An execute rowset message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29128 HY000 A fetch perf message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29129 HY000 A fetch rowset message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29130 HY000 A get sql catalogs message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29131 HY000 An initialize dialogue message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29132 HY000 A prepare message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29133 HY000 A prepare rowset message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29134 HY000 A set connection option message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29135 HY000 A terminate dialogue message error occurred. Cause: cause

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29136 HY000 An association server connect reply occurred. Exception: exception Exception detail: exception_detail Error text/code: error text_or_code

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随している場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

29137 HY000 A close reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29138 HY000 An end transaction reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29139 HY000 An execute call reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29140 HY000 An execute direct reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29141 HY000 An execute direct rowset reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29142 HY000 An execute N reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29143 HY000 An execute rowset reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29144 HY000 A fetch perf reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29145 HY000 A fetch rowset reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29146 HY000 A get sql catalogs reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29147 HY000 An initialize dialogue reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29148 HY000 A prepare reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29149 HY000 A prepare rowset reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29150 HY000 A set connection option reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29151 HY000 A terminate dialogue reply error occurred.

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29152 HY000 No more ports available to start ODBC servers

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。Exception に対する getCause メソッドからの戻り値を評価し、適切なリカバリアクションを判断します。

29153 HY000 Invalid authorization specification

原因: ユーザー名またはパスワード、またはその両方が正しくありません。

結果: 操作が失敗します。

リカバリ: 正しいユーザー名またはパスワード、またはその両方で、再試行してください。

29154 HY000 Timeout expired

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: この操作のタイムアウト値で再試行するか、または変更して再試行してください。

29155 HY000 Unknown message type

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/

MX Connectivity Service Manual』を参照してください。

29156 HY000 An error was returned from the server. Error: error Error detail: error_detail

原因: サーバーがエラーを報告しました

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

29157 HY000 サーバーからの読み取りで問題が発生しました。原因: サーバーがエラーを報告しました。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

29158 HY000 The message header contained the wrong version. Expected: expected_version Actual: actual_version

原因: サービスのバージョンが、想定したバージョンと異なります。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。互換性のあるドライバーバージョンと、MXCS サーバーをインストールしてください。

29159 HY000 The message header contained the wrong signature. Expected: expected_signature Actual: actual_signature

原因: サービスのシグネチャーが、想定したバージョンと異なります。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。互換性のあるドライバーバージョンと、MXCS サーバーをインストールしてください。

29160 HY000 The message header was not long enough.

原因: サーバーから返されるメッセージが、有効なメッセージとしては短すぎます。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29161 S1000 Unable to authenticate the user because of an NT error: {0}

原因: サーバーからメッセージが返されました。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29162 S1000 Unexpected programming exception has been found: exception. Check the server event log on node node for details.

原因: サーバーからメッセージが返されました。

結果: 操作が失敗します。

リカバリ: EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/

MX Connectivity Service Manual』を参照してください。

29163 08001 ODBC Services not yet available: server

原因: サーバーからメッセージが返されました。

結果: 操作が失敗します。

リカバリ: 再試行するか、またはサーバーが使用可能になるまで待ってください。MXCS サーバーデータソースを、さらに多くのサーバーで構成してください。

29164 08001 DataSource not yet available or not found: error

原因: サーバーからメッセージが返されました。

結果: 操作が失敗します。

リカバリ: サーバーデータソースを作成するか、またはさらに多くのサーバーでサーバーデータソースを構成してください。

29165 HY000 Unknown connect reply error: error

原因: サーバーからメッセージが返されました。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

29166 HY000 This method is not implemented.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29167 HY000 Internal error. An internal index failed consistency check.

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29168 HY000 Unknown reply message error: error error detail: error_detail

原因: サーバーがエラーを返しました。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

29169 HY000 Invalid connection property setting

原因: サーバーから返されるメッセージが、有効なメッセージとしては短すぎます。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29170 HY000 Invalid parameter value

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29172 HY000 Translation of parameter to {0} failed.

原因: パラメーターを、{0} 置換変数内で報告されるターゲット文字セットに変換する際に、変換エラーが発生しました。

結果: メソッドが失敗します。

リカバリ: 適切な文字セット内の文字を使用するようパラメーターを設定します。また、translationVerification プロパティに FALSE を設定することにより、変換の妥当性検査をオフにすることができます。

29173 HY000 Translation of SQL statement {0} failed.

原因: SQL ステートメントを、{0} 置換変数内で報告されるターゲット文字セットに変換する際に、変換エラーが発生しました。

結果: メソッドが失敗します。

リカバリ: 適切な文字セット内の文字を使用するよう SQL ステートメントを編集します。また、translationVerification プロパティに FALSE を設定することにより、変換の妥当性検査をオフにすることができます。

29174 HY000 Autocommit is on and updateRow was called on the ResultSet object.

原因: 自動コミットがオンに設定されているときに、ResultSet.updateRow() メソッドが呼び出されます。

結果: 警告が発行されます。すべての ResultSet(cursors) がクローズされるため、それ以降の

ResultSet.next() コールが失敗します。

リカバリ: 自動コミットをオフに設定して、 ResultSet.updateRow() メソッドを呼び出してください。

29175 HY000 Unknown Error {0}.

原因: 接続 {0} 中に、不明なエラーが発生しました。

結果: 接続が失敗します。

リカバリ: 接続を再試行します。

29177 HY000 Data cannot be null.

原因: MXCS サーバーから返されるデータ構造体に、予期しないヌル値が含まれます。

結果: 操作が失敗します。

リカバリ: MXCS サーバー上に EMS メッセージログが存在する場合には、それを検査してください。また、『SQL/MX Connectivity Service Manual』を参照してください。

29178 HY000 No column value has been inserted.

原因: 必須カラムの値が指定されていません。

結果: 操作が失敗します。

リカバリ: すべての必須カラム値を指定したことを確認して、もう一度操作を行ってください。

01032 08S01 Communication link failure. The server timed out or disappeared.

原因: 接続がタイムアウトしました。

結果: 操作が失敗します。

リカバリ: 再接続します。接続タイムアウトとして、適切な値を設定します。

01056 25000 Invalid transaction state.

原因: トランザクション状態が正しくありません。

結果: 操作が失敗します。

リカバリ: 再試行してください。

01118 S1008 Operation cancelled.

原因: 操作がキャンセルされました。

結果: 操作が失敗します。

リカバリ: 操作を再試行してください。

08001 HY000 Retry attempts to connect to the datasource failed, May be ODBC server not able to register to the ODBC service process.

原因: サーバーエラー。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。EMS イベントログで、サーバーエラーをチェックしてください。サーバーエラーに関して『オペレータ・メッセージ・マニュアル』を参照してください。修正アクションについては、『SQL/MX Connectivity Service Manual』を参照してください。

08004 HY000 Data source rejected establishment of connection since the ODBC server is connected to a different client now

原因: サーバーとの接続が失われました。サーバーは、現在、別の接続に接続されています。

結果: 操作が失敗します。

リカバリ: 再接続します。

29180 HY000 XABROKER returned error. Message: {0}

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: なし。

29181 HY000 XABROKER returned error. Message: {0}

原因: この操作を実行できません。

結果: 操作が失敗します。

リカバリ: なし

29182 HY000 XABROKER max connection limit reached. Broker Message: {0}

原因: アプリケーションが、許可される制限を超える数の接続を作成しようとしました。

結果: アプリケーションは、データソースに対する接続を、これ以上作成できません。

リカバリ: 「Error:」と「Error detail:」が付随する場合には、その内容を検討してください。許可される接続の最大数を確認してください。

29183 HY000 Invalid XAFLAG values sent to the XABROKER. Broker Message: {0}

原因: トランザクション操作に関して、XABROKER に無効なフラグが送信されました。

結果: 操作が失敗します。

リカバリ: エラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。

29184 HY000 Version mismatch between the Type4 driver and the XABROKER. Broker Message: {0}

原因: XABROKER は、別のバージョンのドライバーを想定しています。

結果: 操作が失敗します。

リカバリ: このメッセージにエラー (Error:) やエラー詳細情報 (Error detail:) が付随する場合には、その内容を検討してください。互換性のあるドライバーバージョンと、XABROKER をインストールしてください。

29185 HY000T4 connection pooling is not supported for XA connections. Set T4Property maxPoolSize to -1. {0}

原因: リストされた機能は、JDBC ドライバーではサポートされません。

結果: 操作が失敗します。

リカバリ: T4 ドライバーの maxPoolSize プロパティに -1 を設定してください。

29186 HY000 Internal error occurred while getting the SQLMXXAConnection object.- {0}

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29187 HY000 Internal error occurred while getting the SQLMXXAResource object. - {0}

原因: 内部エラー。

結果: 操作が失敗します。

リカバリ: なし。メッセージ全体を、ユーザーのサービスプロバイダーに報告してください。

29188 HY000 Invalid Tx connection. Connection closed.- {0}

原因: データベースへの接続がクローズされているときに、アクションを実行しようとしました。

結果: データベースにアクセスできません。

リカバリ: データベースへの接続が確立した後、もう一度アクションを実行してください。

29189 HY000 Invalid Tx operation on XA connection.- {0}

原因: リストされた機能は、JDBC ドライバーではサポートされません。

結果: 無効な Tx 操作を実行しようとしました。

リカバリ: 正しいトランザクション操作が実行されていることを確認してください。

29190 HY000 Invalid XA Connection. - {0}

原因: サーバーへの接続が存在しません。

結果: 操作が失敗します。

リカバリ: データベースに対するプロパティがすべて有効であることを確認してください。

S1000 HY000A TIP transaction error error has been detected. Check the server event log on Node node for Transaction Error details.

原因: サーバーによってメッセージが返されました。

結果: 操作が失敗します。

リカバリ: ノード上の EMS イベントログをチェックします。

29191 HY000 SQL Server and connection aborted successfully

(closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止されました。

リカバリ: なし。Connection オブジェクトとその子オブジェクトが無効になります。Java プログラム内で再接続してください。

29192 HY000 Server and connection could not be aborted successfully, PROGRAM ERROR

(closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止しませんでした。

リカバリ: なし。これは、内部エラーです。サーバーとの通信中に、マーシャリングパラメーターエラーが発生しました。

29193 HY000 Server and connection could not be aborted successfully, AS NOT AVAILABLE

ERROR (closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止しませんでした。

リカバリ: AS サーバーが使用可能なことを確認してください。

29194 HY000 SQL Server and connection could not be aborted successfully, SERVER NOT

FOUND ERROR (closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止しませんでした。

リカバリ: なし。停止の対象となる、対応する MXOSRVR が使用できません。

29195 HY000 SQL Server and connection could not be aborted successfully, SERVER IN USE

BY ANOTHER CLIENT ERROR (closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止しませんでした。

リカバリ: なし。対応する MXOSRVR が、別のクライアントによって使用されています。

29196 HY000 SQL Server and connection could not be aborted successfully, SERVER STOP

ERROR (closeConnectionUponQueryTimeout Enabled).

原因: 長時間動作していたクエリが、指定された秒数後にタイムアウトになりました。

結果: NSK 上の MXOSRVR が正しく停止しませんでした。

リカバリ: なし。認識不能なエラーのため、対応する MXOSRVR が停止できませんでした。

29197 HY000 Provided DATE orTIME or TIMESTAMP is not valid and cannot be converted.

原因: 指定された DATE 値または TIME 値または TIMESTAMP 値が有効ではありません。

結果: 操作が失敗します。

リカバリ: 有効な DATE 値または TIME 値または TIMESTAMP 値を指定してください。

戻る 上へ 進む第 10 章 移行と互換性 ホーム 第 12 章 WebLogic Server (WLS) 8.1

でのタイプ 4 ドライバーの使用

マニュアル番号 529651-006J Legal Notice

第 12 章 WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用戻る 進む

第 12 章 WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用WebLogic Server の概要互換性 サポートされるトランザクションシナリオサポートされないトランザクションシナリオ接続とステートメントプーリング

WebLogic Server の概要BEA WebLogic Server (WebLogic Server) は、アプリケーションを構築するための基盤を提供する標準ベースの J2EE アプリケーションサーバーです。WebLogic Server には、以下のものが含まれています。

● 負荷バランス● フォールトトレランス

● Web サービス

● ネットワーク透過性

● レガシー統合

● トランザクション管理

● セキュリティ

● マルチスレッド

● 永続性

● データベース接続

● リソースプーリング

● 開発機能、テスト機能、パッケージング機能

WebLogic Server では、Java プラットフォームをサポートしている多くのオペレーティングプラットフォームへの移植性を保証ために、Java プラットフォームが使用されています。

WebLogic Server の詳細については、http://edocs.bea.com/wls/docs81/index.html にある BEA

WebLogic Server のドキュメントを参照してください。

ここでは、タイプ 4 ドライバーでの使用に関係する BEA WLS 8.1 機能について説明します。

互換性

タイプ 4 ドライバーは、BEA WLS バージョン 8.1 以上と互換性があります。タイプ 4 ドライバーは、BEA WLS 8.1 より後のバージョンではテストされていません。

トランザクションタイプ 4 ドライバーは、BEA WLS 8.1 の制御下でトランザクションの管理に使用できます。

WLS のトランザクションマネージャーは、次のように機能します。

■ タイプ 4 ドライバー接続の setAutoCommit(false) メソッドを呼び出すことにより、自動コミットを無効にします。

■ 接続に関連付けられている rollback() メソッドまたはcommit() メソッドを呼び出すことにより、ドライバー接続のトランザクションを完了させます。

グローバルトランザクション

タイプ 4 ドライバーを有効にしてグローバル/XA トランザクションに参加するには、WLS 8.1 Web コンソールから Nonstop SQL/MX DataSource を作成したときに [Honor Global Transactions] チェックボックスをオンにする必要があります。トランザクション全体に対してコミットまたはロールバックが有効になるように、WLS 8.1 がトランザクションを調整します。

タイプ 4 ドライバー製品には、2 フェーズのコミットプロトコルのデモンストレーションとなる WLS

8.1 JDBC サンプルが付属しています。

BEA WLS 8.1 でサポートされるトランザクションシナリオ

BEA WLS 8.1 でサポートされないトランザクションシナリオ

接続とステートメントプーリング

タイプ 4 ドライバーは、WLS 8.1 の接続プーリングとステートメントプーリングに必要なすべてのインターフェイスをサポートしています。タイプ 4 ドライバー製品には、接続プーリングと統合のデモンストレーションとなる WLS 8.1 JDBC サンプルが付属しています。

WLS8.1 は、接続プーリングコンポーネントを実装します。WLS8.1 アプリケーションサーバーは、プールされたオブジェクトのキャッシュを維持し、またクライアントから接続を要求されたときにオブジェクトを取り出します。

アプリケーションでの接続オブジェクトの使用が終了すると、そのオブジェクトはプールに返され、以降の要求で使用できるようになります。

プーリングコンポーネントは、接続が初期化できない場合には、プールされている接続オブジェクトを破棄します。

タイプ 4 ドライバーには、WLS 8.1 アプリケーションサーバーを有効にして接続プールを管理するために、JDBC 3.0 仕様に従って接続プールの構成プロパティを取得および設定するメソッドが用意されています。

戻る 上へ 進む第 11 章 メッセージ

ホーム付録 A CLOB データおよび BLOB

データにアクセスするサンプルプログラム

マニュアル番号 529651-006J Legal Notice

付録 A CLOB データおよび BLOB データにアクセスするサンプルプログラム戻る 進む

付録 A CLOB データおよび BLOB データにアクセスするサンプルプログラムCLOB データにアクセスするサンプルプログラムBLOB データにアクセスするサンプルプログラム

この付録では、2 つの作業プログラムを示します。

CLOB データにアクセスするサンプルプログラムこのサンプルプログラムは、Clob インターフェイスまたは PreparedStatement インターフェイスを通して実行可能な操作を示しています。このサンプルプログラムでは、変数を取るインターフェイスと CLOB カラムを持つ基本テーブルにその変数の値を入れるインターフェイスの、両方の例を示しています。

// LOB operations can be performed through the Clob interface,// or the PreparedStatement interface. // This program shows examples of both interfaces taking a // variable and putting it into the cat.sch.clobbase table.//// The LOB base table for this example is created as:// >> create table clobbase // (col1 int not null not droppable, // col2 clob, primary key (col1));//// The LOB table for this example is created through// the T4LobAdmin utility as:// >> create table cat.sch.clobdatatbl// (table_name char(128) not null not droppable,// data_locator largeint not null not droppable,// chunk_no int not null not droppable,// lob_data varchar(3880),// primary key(table_name, data_locator, chunk_no)) // attributes extent(1024), maxextents 768 ;//// ***** The following is the Clob interface...// - insert the base row with EMPTY_CLOB() as value for // the LOB column// - select the LOB column 'for update'// - load up a byte[] with the data// - use Outputstream.write(byte[])//// ***** The following is the PreparedStatement interface...// - need an Inputstream object that already has data // - need a PreparedStatement object that contains the // 'insert...' DML of the base table// - ps.setAsciiStream() for the lob data

// - ps.executeupdate(); for the DML//// To run this example, issue the following:// # java TestCLOB 1 TestCLOB.java 1000//

import java.sql.*;import java.io.*;

public class TestCLOB { public static void main (String[] args) throws java.io.FileNotFoundException, java.io.IOException { int length = 500; int recKey; long start; long end; Connection conn1 = null;

// Set t4sqlmx.clobTableName System Property. This property // can also be added to the command line through // "-Dt4sqlmx.clobTableName=...", or a // java.util.Properties object can be used and passed to // getConnection. System.setProperty( "t4sqlmx.clobTableName","cat.sch.clobdatatbl" ); if (args.length < 2) { System.out.println("arg[0]=; arg[1]=file; arg[2]="); return; }

String k = "K"; for (int i=0; i<5000; i++) k = k + "K"; System.out.println("string length = " + k.length()); FileInputStream clobFs = new FileInputStream(args[1]); int clobFsLen = clobFs.available();

if (args.length == 3) length = Integer.parseInt(args[2]); recKey = Integer.parseInt(args[0]);

System.out.println("Key: " + recKey +"; Using " + length + " of file " + args[1]);

try { Class.forName("com.tandem.t4jdbc.SQLMXDriver"); start = System.currentTimeMillis();

//url should be of the form: // jdbc:t4sqlmx://ip_address|machine_name:port_number/:” String url = “jdbc:t4sqlmx://mymachine:6000/:”; conn1 = DriverManager.getConnection(url);

System.out.println("Cleaning up test tables...");

Statement stmt0 = conn1.createStatement(); stmt0.execute("delete from clobdatatbl"); stmt0.execute("delete from clobbase");

conn1.setAutoCommit(false);

} catch (Exception e1) { e1.printStackTrace(); }

// PreparedStatement interface example - This technique // is suitable if the LOB data is already on the NonStop // system disk. try { System.out.println("PreparedStatement interface LOB insert..."); String stmtSource1 = "insert into clobbase values (?,?)"; PreparedStatement stmt1 = conn1.prepareStatement(stmtSource1); stmt1.setInt(1,recKey); stmt1.setAsciiStream(2,clobFs,length); stmt1.executeUpdate(); conn1.commit(); } catch (SQLException e) { e.printStackTrace(); SQLException next = e; do { System.out.println("Messge : " + e.getMessage()); System.out.println("Error Code : " + e.getErrorCode()); System.out.println("SQLState : " + e.getSQLState()); } while ((next = next.getNextException()) != null); }

// Clob interface example - This technique is suitable when // the LOB data is already in the app, such as having been// transferred in a msgbuf. try { // insert a second base table row with an empty LOB column System.out.println("CLOB interface EMPTY LOB insert..."); String stmtSource2 = "insert into clobbase values (?,EMPTY_CLOB())"; PreparedStatement stmt2 = conn1.prepareStatement(stmtSource2); stmt2.setInt(1,recKey+1); stmt2.executeUpdate(); Clob clob = null; System.out.println("Obtaining CLOB data to update (EMPTY in this case)..."); PreparedStatement stmt3 = conn1.prepareStatement("select col2 from clobbase where col1 = ? for update"); stmt3.setInt(1,recKey+1); ResultSet rs = stmt3.executeQuery();

if (rs.next()) clob = rs.getClob(1); // has to be there // else the base table insert fails System.out.println("Writing data to previously empty CLOB..."); OutputStream os = clob.setAsciiStream(1); byte[] bData = k.getBytes(); os.write(bData); os.close(); conn1.commit(); } catch (SQLException e) { e.printStackTrace(); SQLException next = e; do { System.out.println("Messge : " + e.getMessage()); System.out.println("Vendor Code : " + e.getErrorCode()); System.out.println("SQLState : " + e.getSQLState()); } while ((next = next.getNextException()) != null); }

} // main} // class

BLOB データにアクセスするサンプルプログラムこのサンプルプログラムは、Blob インターフェイスと PreparedStatement インターフェイスを使用して、バイト変数を取り、BLOB カラムを持つ基本テーブルにその変数の値を入れる方法を示しています。

// LOB operations may be performed through the Blob, or // PreparedStatement interface. This program shows examples of // using both interfaces taking a byte[] variable and putting // it into the cat.sch.blobtiff table.//// The LOB base table for this example is created as:// >> create table blobtiff // (col1 int not null not droppable, // tiff blob, primary key (col1));//// The LOB table for this example is created through the // T4LobAdmin utility as:// >> create table cat.sch.blobdatatbl// (table_name char(128) not null not droppable,// data_locator largeint not null not droppable,// chunk_no int not null not droppable,// lob_data varchar(3880),// primary key(table_name, data_locator, chunk_no)) // attributes extent(1024), maxextents 768 ;//// ***** The following is the blob interface...// - insert the base row with EMPTY_BLOB() as value for // the LOB column// - select the lob column 'for update'// - load up a byte[] with the data// - use Outputstream.write(byte[])

//// ***** The following is the prep stmt interface...// - need an Inputstream object that already has data// - need a PreparedStatement object that contains the // 'insert...' DML of the base table// - ps.setAsciiStream() for the lob data// - ps.executeupdate(); for the DML//// To run this example, issue the following:// # java TestBLOB 1 TestBLOB.class 1000//

import java.sql.*;import java.io.*;

public class TestBLOB { public static void main (String[] args) throws java.io.FileNotFoundException, java.io.IOException { int numBytes; int recKey; long start; long end; Connection conn1 = null;

// Set t4slqmx.blobTableName System Property. This property // can also be added to the command line through // "-Dt4slqmx.blobTableName=...", or a // java.util.Properties object can be used and passed to // getConnection. System.setProperty( "t4slqmx.blobTableName","cat.sch.blobdatatbl" ); if (args.length < 2) { System.out.println("arg[0]=; arg[1]=file; arg[2]="); return; }

// byte array for the blob byte[] whatever = new byte[5000]; for (int i=0; i<5000; i++) whatever[i] = 71; // "G" String k = "K"; for (int i=0; i<5000; i++) k = k + "K"; System.out.println("string length = " + k.length()); java.io.ByteArrayInputStream iXstream = new java.io.ByteArrayInputStream(whatever);

numBytes = iXstream.available(); if (args.length == 3) numBytes = Integer.parseInt(args[2]); recKey = Integer.parseInt(args[0]);

System.out.println("Key: " + recKey +"; Using " + numBytes + " of file " + args[1]);

try {

Class.forName("com.tandem.t4jdbc.SQLMXDriver"); start = System.currentTimeMillis();

//url should be of the form: // jdbc:t4sqlmx://ip_address|machine_name:port_number/: String url = "jdbc:t4sqlmx://mymachine:port/:"; String user ="UserName"; String password="password"; conn1 = DriverManager.getConnection(url,user,password);

System.out.println("Cleaning up test tables..."); Statement stmt0 = conn1.createStatement(); stmt0.execute("delete from blobdatatbl"); stmt0.execute("delete from blobtiff");

conn1.setAutoCommit(false);

} catch (Exception e1) { e1.printStackTrace(); }

// PreparedStatement interface example - This technique is // suitable if the LOB data is already on the // NonStop system disk. try { System.out.println("PreparedStatement interface LOB insert..."); String stmtSource1 = "insert into blobtiff values (?,?)"; PreparedStatement stmt1 = conn1.prepareStatement(stmtSource1); stmt1.setInt(1,recKey); stmt1.setBinaryStream(2,iXstream,numBytes); stmt1.executeUpdate(); conn1.commit(); } catch (SQLException e) { e.printStackTrace(); SQLException next = e; do { System.out.println("Messge : " + e.getMessage()); System.out.println("Error Code : " + e.getErrorCode()); System.out.println("SQLState : " + e.getSQLState()); } while ((next = next.getNextException()) != null); }

// Blob interface example - This technique is suitable when // the LOB data is already in the app, such as having been // transfered in a msgbuf. try { // insert a second base table row with empty LOB column System.out.println("BLOB interface LOB insert..."); String stmtSource2 = "insert into blobtiff values (?,EMPTY_BLOB())"; PreparedStatement stmt2 = conn1.prepareStatement(stmtSource2); stmt2.setInt(1,recKey+1); stmt2.executeUpdate(); Blob tiff = null;

System.out.println("Obtaining BLOB data to update (EMPTY in this case)..."); PreparedStatement stmt3 = conn1.prepareStatement("select tiff from blobtiff where col1 = ? for update"); stmt3.setInt(1,recKey+1); ResultSet rs = stmt3.executeQuery(); if (rs.next()) tiff = rs.getBlob(1); // has to be there else the base table insert failed System.out.println("Writing data to previously empty BLOB..."); OutputStream os = tiff.setBinaryStream(1); byte[] bData = k.getBytes(); os.write(bData); os.close(); conn1.commit(); } catch (SQLException e) { e.printStackTrace(); SQLException next = e; do { System.out.println("Messge : " + e.getMessage()); System.out.println("Vendor Code : " + e.getErrorCode()); System.out.println("SQLState : " + e.getSQLState()); } while ((next = next.getNextException()) != null); }

} // main} // class

戻る 上へ 進む第 12 章 WebLogic Server (WLS) 8.1 でのタイプ 4 ドライバーの使用 ホーム 付録 B スカラー関数

マニュアル番号 529651-006J Legal Notice

付録 B スカラー関数戻る 進む

付録 B スカラー関数この付録では、モジュールファイルキャッシュ (MFC) でサポートされていないスカラー関数を掲載します。

ABS CURRENT_USER LOG10 POSITION SPACE

ACOS DATEFORMAT LOWER POWER SQRT

ASCII DAY LPAD QUARTER STDDEV

ASIN DAYNAME LTRIM REPEAT SUBSTRING

ATAN DAYOFMONTH MAX REPLACE SUM

ATAN2 DAYOFWEEK MIN RIGHT TAN

AVG DAYOFYEAR MINUTE RPAD TANH

CEILING DIFF1 MOD RTRIM THIS

CHAR DIFF2 MONTH RUNNINGAVG TRANSLATE

CHAR_LENGTH EXP MONTHNAME RUNNINGCOUNT TRIM

CODE_VALUE EXTRACT MOVINGAVG RUNNINGMAX UCASE

CONCAT FLOOR MOVINGCOUNT RUNNINGMIN UPPER

CONVERTTIMESTAMP HOUR MOVINGMAX RUNNINGSTDDEV UPSHIFT

COS INSERT MOVINGMIN RUNNINGSUM USER

COSH JULIANTIMESTAMP MOVINGSTDDEV RUNNINGVARIANCE VARIANCE

COUNT LASTNOTNULL MOVINGSUM SECOND WEEK

CURRENT LCASE MOVINGVARIANCE SESSION_USER YEAR

CURRENT_DATE LEFT OCTET_LENGTH SIGN

CURRENT_TIME LOCATE OFFSET SIN

CURRENT_TIMESTAMP LOG PI SINH

戻る 上へ 進む付録 A CLOB データおよび BLOB データにアクセスするサンプルプログラム ホーム 用語集

マニュアル番号 529651-006J Legal Notice

用語集戻る 進む

用語集A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

あ | か | さ | た | な | は | ま | や | ら | わ

A

ANSI

米国規格協会 (ANSI) を参照。API

アプリケーションプログラムインターフェイス (API) を参照。ASCII

米国情報交換用標準符号 (ASCII) を参照。

B

BLOB

Binary Large OBject (バイナリラージオブジェクト) の短縮形。データベース管理システムに単一のエンティティとして格納される バイナリデータのコレクションです。これらのエンティティは、主にイメージ、ビデオ、サウンドなど、マルチメディアオブジェクトを保持 するのに使用されます。また、プログラムやコードフラグメントの保持にも使用できます。Java の

Blob オブジェクト (Java タイプ、 java.sql.Blob) は、SQL の BLOB データ型に対応します。

C

CLOB

Character Large OBject (キャラクターラージオブジェクト) の短縮形。データベース管理システムに単一のエンティティとして格納されるテキストデータです。 Java の Clob オブジェクト (Java タイプ、java.sql.Clob) は、SQL の CLOB データ型に対応します。

D

DCL

データ制御言語 (DCL) を参照してください。DML

データ操作言語 (DML) を参照してください。DriverManager

ドライバーを管理する JDBC クラス。

E

EXPAND

フォールトトレランスの概念を、地理的に分散した NonStop システムのネットワークに拡張する NonStop カーネルオペレーティングシステムネットワーク。ネットワークが正しく設計されている場合には、 単一の回線障害またはコンポーネント障害が発生した場合にも、通信パスを定常的に使用できます。

F

この節には項目がありません。

G

get() メソッドデータ項目の読み取りに使用するメソッド。たとえば、Connection.getAutoCommit() メソッドは、SQL/MX データベースに対する JDBC ドライバー接続のトランザクションモードを返します。set() method と比較してください。

Guardian

NonStop カーネルで、対話型およびプログラム的に使用できる環境。 Guardian 環境で動作するプロセスは、その API として Guardian システムプロシージャーコールを使用します。Guardian 環境の対話型ユーザーは、 HP Tandem Advanced Command Language (TACL) または別の HP 製品の コマンドインタープリターを使用します。 OSS と比較してください。

H

HotSpot 仮想マシンJava HotSpot 仮想マシンを参照してください。

HP JDBC Driver for SQL/MP (JDBC/MP)

SQL/MP に対するアクセスを提供し、JDBC API に適合する製品。HP JDBC Driver for SQL/MX (JDBC/MX)

SQL/MX に対するアクセスを提供し、JDBC API に適合する製品。HP JDBC Type 4 Driver for NonStop SQL/MX

NonStop SQL/MX リリース 2.0 に対するアクセスを提供し、JDBC API に適合する製品。HP NonStop カーネルオペレーティングシステム

NonStop システム用のオペレーティングシステム。HP NonStop ODBC Server

HP による NonStop システム用の ODBC の実装。HP NonStop Server for Java, based on Java 2, Standard Edition, SDK 1.4.1

その Java 仮想マシン が Java 2 Standard Edition, SDK 1.4.1 に適合する NonStop Server for

Java 製品の正式名称。 NonStop Server for Java 4 も参照してください。HP NonStop SQL/MP (SQL/MP)

HP NonStop Structured Query Language/MP を意味しており、NonStop サーバー用の HP のリレーショナルデータベース管理システムです。

HP NonStop SQL/MX (SQL/MX)

HP NonStop Structured Query Language/MX を意味しており、NonStop サーバー上のビジネス上重要なアプリケーション用の HP の次世代リレーショナルデータベース管理システムです。

HP NonStop システムNonStop カーネルオペレーティングシステムをサポートする HP コンピューター。

HP NonStop トランザクション管理ファシリティ (TMF)

トランザクション保護、データベース整合性、およびデータベースリカバリを行う HP 製品。

NonStop SQL/MX を呼び出すと、TMF サブシステム内のプロシージャーに対するコールが発生します。

I

IEC

国際電気標準会議 (IEC) を参照。IEEE

電気電子技術者協会 (IEEE)。ISO

国際標準化機構 (ISO) を参照。

J

jar

複数のファイルを単一の Java アーカイブ (JAR) ファイルに結合する Java アーカイブツール。また、Java アーカイブツールを実行する コマンドを指します。

JAR ファイルJava アーカイブツール jar で作成されるアーカイブファイル。

java

Java バイトコードを実行する Java インタープリター。また、Java インタープリターを実行する コマンドを指します。この Java コマンドは、Java ランタイムを起動ます。

Java Database Connectivity (JDBC)

Java プラットフォームと、SQL/MP や SQL/MX などのリレーショナルデータベースの間で、

データベースに依存しない接続性を実現するための業界標準。JDBC は、SQL ベースのデータベースアクセス用にコールレベルの API を提供します。

Java Development Kit (JDK)

Java 仮想マシン、コアライブラリ、および Java 用ツール。たとえば、 NonStop Server for

Java, based on Java™ 2 プラットフォーム、Standard Edition, SDK 1.4.2。J2SE SDK 1.4.2 の詳細については、 『Sun Microsystems JDK 1.4.2 Documentation』(http://java.sun.com/

j2se/1.4.2/docs/index.html) を参照してください。Java 基本クラス

コア API を参照。Java HotSpot 仮想マシン

サーバー環境で動作するアプリケーション用に、最大のプログラム実行速度を達成できるよう設計された Java 仮想マシン実装。Java HotSpot 仮想マシンは、稼働中のアプリケーションのパフォーマンスを動的に最適化する アダプティブコンパイラを備えたランタイム環境です。NonStop Server for Java 4 は、Java HotSpot 仮想マシンを実装します。

Java Naming and Directory Interface (JNDI)

Java テクノロジー対応アプリケーションプログラムに、複数のネーミングおよびディレクトリサービスに対する統一したインターフェイスを提供する、Java プラットフォームへの標準拡張。

Java Native Interface (JNI)

Java クラスから呼び出される C 関数が使用する C 言語インターフェイス。C プログラムから

Java VM を呼び出す Invocation API (呼び出し API) が含まれます。Java ランタイム

Java VM およびコア API。これは、 java コマンドが起動する Java 標準環境です。Java 仮想マシン

Java バイトコードをロード、リンク、検証、および解釈するプロセス。NonStop Server for

Java 4 は、 Java HotSpot 仮想マシンを実装します。JDBC

Java Database Connectivity (JDBC) を参照。JDBC API

リレーショナルデータベースにアクセスするための、Java のプログラム API。JDBC トレース機能

Java アプリケーションから呼び出されるすべての JDBC メソッドのエントリーポイントをトレースするよう設計されたユーティリティ。

JDBC/MP

HP JDBC Driver for SQL/MP (JDBC/MP) を参照。JDBC/MX

HP JDBC Driver for SQL/MX (JDBC/MX) を参照。JDK

Java Development Kit (JDK) を参照。JNDI

Java Naming and Directory Interface (JNDI) を参照。JNI

Java Native Interface (JNI) を参照。jre

Java バイトコードを実行する Java ランタイム環境。Java ランタイム環境を実行するコマン

ドを指します。

Kこの節には項目がありません。

L

LAN

ローカルエリアネットワーク (LAN) を参照。LOB

Large OBject (ラージオブジェクト) の短縮形。CLOB データまたは BLOB データを表します。LOB テーブル

基本テーブル内の CLOB カラムおよび BLOB カラムに対応する実際のデータを格納するテーブル。 基本テーブルと対比してください。

M

MXCI

SQL/MX 会話型インターフェイス。MXCS

HP NonStop SQL/MX Connectivity Service。この製品は、JDBC アプリケーションプログラミングインターフェイスおよびその他の接続 API 用に開発されたアプリケーションが、

NonStop SQL/MX を使用して HP NonStop システム上の HP NonStop SQL データベースにアクセスすることを可能にします。

MXCS Association Server

MXCS SQL サーバーを開始および管理するとともに、クライアントの接続要求をデータソース内の特定の MXCS SQL サーバーに関連付ける HP NonStop MXCS コンポーネント。

MXCS SQL サーバーNonStop SQL/MX エンジンを通して NonStop SQL データベースへのアクセスを提供する

MXCS コンポーネント。

N

NonStop Server for Java 4

NonStop Server for Java, based on the Java 2 Standard Edition, SDK 1.4.1の非正式名称。この製品は、エンタープライズサーバー用に、コンパクト、同時実行、動的、 かつポータブルなプログラムをサポートする Java 環境です。

NonStop Technical Library (NTL)

NonStop コンピューティング技術情報に対するブラウザーベースのインターフェイス。NTL

は、HP Total Information Manager (TIM) に代わるものです。NSK

HP NonStop カーネルオペレーティングシステムを参照。

O

ODBC

Open Database Connectivity (ODBC) を参照。Open Database Connectivity (ODBC)

データベースにアクセスするための、標準 Microsoft 製品。OSS

オープンシステムサービス (OSS) を参照。

P

Portable Operating System Interface X (POSIX)

ANSI および電気電子技術者協会 (IEEE) によって定義された、相互に関連するインターフェイス標準のファミリ。 各 POSIX インターフェイスは、番号付けされた ANSI/IEEE 標準またはドラフト標準で独自に定義されています。標準は、移植性、 相互運用性、およびユーザインターフェイスの一様性を取り扱っています。

POSIX

Portable Operating System Interface X (POSIX) を参照。

Qこの節には項目がありません。

R

RDF

Remote Duplicate Database Facility (RDF) を参照。Remote Duplicate Database Facility (RDF)

次の機能を実行する HP ソフトウェア製品です。

● オンライントランザクション処理 (OLTP) 運用データベースに対して災害復旧を支援します。

● プライマリシステム上で TMF サブシステムによってオーディットされたデータベース更新を監視するとともに、リモートシステム上のデータベースの コピーにこれらの更新を適用します。

S

set() メソッドデータ項目の変更に使用するメソッド。たとえば、Connection.setAutoCommit() メソッ

ドは、 SQL/MX データベースに対する JDBC ドライバーの接続のトランザクションモードを変更します。get()メソッドと比較してください。

SQL コンテキスト自分自身の環境での SQL エグゼキューターのインスタンス化。

SQLJ

SQLJ Part 0 とも呼ばれます。ANSI SQL-2002 標準の "Database Language SQL--Part 10:

Object Language Bindings (SQL/OLB)" パートであり、 静的 SQL ステートメントを Java プログラムに直接埋め込むことを許可します。

SQL/MP

HP NonStop SQL/MP を参照。SQL/MX

HP NonStop SQL/MX を参照。Stored Procedure in Java (SPJ)

ボディが静的 Java メソッドであるストアドプロシージャー。

T

threads

Sun Microsystems JDK で出荷される非ネイティブ スレッドパッケージ。throw

例外の発行に使用される Java キーワード。throws

メソッドが発行できる例外の定義に使用される Java キーワード。TMF

HP NonStop トランザクション管理ファシリティ (TMF) を参照

U

Unicode

ASCII の拡張として設計された文字コーディングスキーム。Unicode は、 各文字に 16 ビット

(ASCII の 7 ビットではなく) を使用することにより、すべての言語のほぼすべての文字および多数の記号 ("&" など) を、 国際的な標準方法で表現することができます。その結果、非互換の拡張文字セットやコードページの複雑性が排除されます。Unicode の最初の 128 コードは、標準 ASCII のコードに対応しています。

URL

ユニフォームリソースロケーター (URL) を参照。

Vこの節には項目がありません。

W

World Wide Web (WWW)

スイスのジュネーブにある CERN High-Energy Physics 研究所を源とする インターネットクライアント-サーバー ハイパーテキスト分散情報検索システム。WWW 上では、すべてのもの (ドキュメント、メニュー、インデックス) が、 HTML フォーマットのハイパーテキストオブジェクトとして表現されます。 ハイパーテキストリンクは、その URL によって他のドキュメントを参照します。これらは、FTP、Gopher、Telnet、またはニュースでアクセス可能なローカルまたはリモートリソースの場合も、 またハイパーテキストドキュメントの送信に使用される

HTTP プロトコル よって使用可能なリソースの場合もあります。 クライアントプログラム (ブラウザーとも呼ばれる) がユーザーのコンピューター上で動作し、2 つの基本的なナビゲーション操作を提供します。 1 つはリンクに従う方法であり、もう 1 つはサーバーにクエリを送信する方法です。

WWW

World Wide Web (WWW) を参照。

Xこの節には項目がありません。

Yこの節には項目がありません。

Zこの節には項目がありません。

アプリケーションプログラム以下のいずれかを指します。

● 特定の目的のために、ユーザー用に、またはユーザーによって作成されたソフトウェアプログラム

● 制御機能ではなく、データ処理機能を実行するコンピュータープログラム

アプリケーションプログラムインターフェイス (API)

他のソフトウェアコンポーネントとの通信のために、アプリケーションプログラム が呼び出す機能またはプロシージャーのセット。

移植性プログラムを、1 つのプラットフォームから別のプラットフォームに、再プログラミングを行うことなく移転する能力。オープンシステムの特性の 1 つです。 移植性は、C など、標準プログラミング言語を使用することを意味しています。

インターフェイス一般には、一人の要員、プログラム、またはデバイスと、他の要員、プログラム、デバイス間

の通信または相互接続を行うポイント、またはそのやりとりのためのルールのセット。 API も参照してください。

インタープリターバイトコードをネイティブマシンコードに解釈する Java VM のコンポーネントを指しています。

インターネットTCP/IP ネットワーク通信プロトコルを使用して、非常に多数のネットワークを相互接続したネットワーク。 電子メール、ファイル転送、ニュース、リモートログイン、および非常に多数のデータベースへのアクセスを行うことができます。インターネットには、次の 3 種類のネットワークが含まれます。

● NSFNET や MILNET などの高速バックボーンネットワーク

● 企業や大学のネットワークなど、中間レベルのネットワーク

● 個々の LAN などのスタブネットワーク

オープンシステムサービス (OSS)

NonStop カーネルで、対話型で使用、およびプログラム的に使用できる環境。 OSS 環境で動作するプロセスは、OSS API を使用します。OSS 環境の対話型ユーザーは、コマンド インタープリターに OSS シェルを使用します。Guardian と比較してください。

拡張性スケーラビリティを参照してください。

仮想マシン (VM)

独立したコンピューターのように振る舞う、自己充足型の運用環境。 Java 仮想マシンとJava

Hotspot 仮想マシンも参照してください。カタログ

SQL/MP と SQL/MX で、テーブル、ビュー、カラム、インデックス、ファイル、およびパーティションなど、SQL オブジェクトの記述を格納したテーブルのセット。

基本テーブル物理的に存在するテーブル。つまり、ファイルに格納されているテーブル。

クライアントサーバー からのサービスを要求するソフトウェアプロセス、ハードウェアデバイス、またはその 2 つの組み合わせ。 多くの場合、クライアントは、プログラマブルワークステーションに存在するプロセスであり、ユーザーインターフェイス を提供するプログラムの一部です。また、ワークステーションクライアントは、プログラムロジックの他の部分も実行します。また、リクエスターとも呼ばれます。

クラスパスJava VM、およびクラスライブラリ (classes.zip など) のディレクトリ 検索範囲内に配置される Java プログラムの場所。ユーザーのクラスパスに、t4sqlmx.jar ファイルを含めてください。 t4sqlmx.jar ファイルは、製品をインストールした場所にあります。クラスパス

は、明示的に設定するか、または CLASSPATH 環境変数で設定することができます。コア API

Sun Microsystems, Inc. による最終 API のリリース時に、開発者が、Java プラットフォームのすべての派生インプリメンテーションに存在すると想定できる API の最小セット。NonStop

Server for Java 4 は、JDK 内のすべてのコア API に適合しています。 コア API は、Java コアクラスおよび Java 基本クラスとも呼ばれています。

国際電気標準会議 (IEC)

ISO と同じレベルの標準化組織。国際標準化機構 (ISO)

1946 年に設立された強制力のない任意団体であり、コンピューターと通信を含めて、多くの分野で国際標準の作成を担当しています。そのメンバーには、 ANSI を含めて、89 ヶ国の国内標準組織が参加しています。

コマンドオペレーターまたはプログラムによって要求される操作。 サブシステムよるアクション、またはサブシステムからの情報を要求します。一般に、コマンドは、プロセス間メッセージとしてプログラムからサブシステムに渡されます。

サーバー以下のいずれかを指します。

● スタンドアロンシステムとして、 または EXPAND ネットワークの内のノードとして使用されるシステムの実装。

● ネットワークを通してクライアントから受け取った要求に対応して、サービスを提供するよう設計されたコンピューターシステムのハードウェアコンポーネント。 たとえば、NonStop システムサーバーは、トランザクション処理、データベースアクセス、およびその他のサービスを提供します。

● クライアントにサービスを提供するプロセスまたはプログラム。サーバーは、クライアントから要求メッセージを受け取り、データベースの問い合わせや更新、 セキュリティ検証、数値計算、他のコンピューターシステムへのデータの転送などの要求された操作を実行し、応答メッセージをクライアントに返すように設計されています。

自動コミットモードプログラマーが commit() を呼び出さなくても、 JDBC ドライバーが自動的に トランザクションをコミットするモード。

スケーラビリティシステムに対してプロセッサーやデバイスを追加すること、またネットワークに対してシステムを追加することなどにより、 オンライントランザクション処理システムのサイズと処理能力を増大させる能力、またシステムを停止することなく簡単かつ透過的にこれを行う能力。拡張性と呼ばれることもあります。

スタブ

以下のいずれかを指します。

● プログラムとランタイムライブラリーをリンクするときに使用されるダミープロシージャー。スタブには、コードを入れる必要はありません。 その唯一の目的は、リンク時に「未定義ラベル」エラーを防止することです。

● リモートプロシージャーコール (RPC) 内のローカルプロシージャー。クライアントは、RPC が含まれていることを必ずしも意識する必要がない場合、 スタブを呼び出してタスクを実行します。スタブは、ネットワークを通してサーバーにパラメーターを送信し、結果をコーラーに返します。

ステートメントプーリングPreparedStatement オブジェクトをプールするためのフレームワーク。

ストアドプロシージャーSQL/MX に登録されており、CALL ステートメントの実行中に SQL/MX によって呼び出されるプロシージャー。サーバーサイドにプロシージャーを格納すると、 すべてのクライアントが使用できることを意味しているため、ストアドプロシージャーは、クライアント/サーバーデータベースシステムにとって特に重要です。 そして、プロシージャーが修正された場合には、すべてのクライアントが自動的に新バージョンを獲得できます。

スレッド独立してディスパッチされ、プロセス内でシーケンシャルな制御の流れを表すタスク。

接続プーリングJDBC 接続をプールするためのフレームワーク。

相互運用性以下のいずれかを指します。

● 複数ベンダーのシステム間や同じベンダーからの複数のオペレーティングシステムバージョン間を含めて、異種環境間での通信、プログラムの実行、 またはデータの転送を行う能力。HP のドキュメントでは、この状況を指すのにしばしば接続性という用語を使用しますが、 他のベンダーでは、ハードウェアの互換性を意味するのに接続性という用語が使用されています。

● NonStop システムノード内では、環境の機能やファシリティを別の機能やファシリティから使用する能力を指します。 たとえば、OSS 環境内の gtacl コマンドによって、 対話型ユーザーは、Guardian 環境内の Guardian ツールを起動し、使用することができます。

対話型ユーザーとコンピューターシステム間での、質問と返答の交換。

抽象クラスJava では、クラスは、サブクラスを派生させることのできる親としてのみ設計されており、それ自体はインスタンス化に適していません。 抽象クラスは、しばしば不完全な機能セットを「抜き出す」ために使用されます。次に、その不完全な機能セットの欠落している部分にそれ

ぞれ 異なる独自機能を追加して、兄弟サブクラスのグループで共有することができます。データ制御言語 (DCL)

SQL/MP 言語内のデータ制御ステートメントのセット。データソース

データへのアクセスに必要な情報を定義する論理名です。

● クライアントサイドでは、ドライバー名、ネットワークアドレス、さらにカタログ名やスキーマ名などの特定の属性を定義します。

● サーバーサイドでは、起動値、プール内のサーバー数、Guardian 定義、SQL/MX 制御ステートメント、およびリソース管理ポリシーを定義します。 サーバーサイドでは、データソースは serverDataSource プロパティを通して参照されます。

データ操作言語 (DML)

SQL 言語内のデータ操作ステートメントのセット。これらのステートメントには INSERT、DELETE、および UPDATE があり、 Remote Duplicate Database Facility (RDF) が複製可能なデータベースの変更を行います。

同時実行性2 つ以上のトランザクションが、データベース内の同じレコードに同時に作用する状態。 トランザクションを処理するためには、プログラムは、データベースに対して同時に変更が行われているかどうかに関係なく、データベースからの入力に整合性があると想定する必要があります。 TMF は、同時実行性制御を通して同時実行トランザクションを管理します。

同時実行性制御2 つ以上のプロセスによる同時アクセスからのデータベースレコードの保護。TMF は、影響を受けるレコードを動的にロックおよびロック解除して、 これらのレコードに一度に 1 つのトランザクションだけがアクセスできるよう保証することにより、この制御を実施します。

ドライバーjava.sql.Driver インターフェイスを実装する Java クラス。たとえば、 com.tandem.

t4jdbc.SQLMXDriver は、java.sql.Driver インターフェイスを実装するタイプ 4 JDBC

ドライバーです ( HP JDBC Type 4 Driver for NonStop SQL/MX を参照)。トランザクション

クライアントプログラム (一般にはワークステーション上で動作) がサーバーに要求するユーザー定義のアクション。

トランザクション管理ファシリティ (TMF)

HP NonStop トランザクション管理ファシリティ (TMF) を参照トリガー

指定されたデータベースに対して削除、挿入、または更新操作が行われるたびに、自動的に実行されるアクションのセットを定義するトリガー。

ネイティブJava プログラミングにおいて、特定のプラットフォーム用に Java 以外の言語 (C や C++ な

ど) で記述された何らかの実体。ノード

以下のいずれかを指します。

● コンピューターネットワークに接続されたアドレス指定可能なデバイス。

● ハイパーテキストドキュメント。

バイトコードJava コンパイラ javac が生成するコード。Java 仮想マシンは、このコードをロードするときに、インタープリトまたは コンパイルを行います。

ハイパーテキスト読者が、対話型ブラウザーを使用して 1 つのドキュメントから別のドキュメントに 簡単に移動するためのクロスリファレンスまたはリンクを含むドキュメント (ノード) のコレクション。

ハイパーテキスト転送プロトコル (HTTP)

World Wide Web (WWW) 上で HTML ドキュメントの交換に使用される、クライアントと サーバー間の伝送制御プロトコル/インターネットプロトコル (TCP/IP)。

ハイパーテキストマークアップ言語 (HTML)

World Wide Web (WWW) で使用されるハイパーテキストドキュメント。ハイパーリンク

ハイパーテキストドキュメント内の 1 箇所から、他のドキュメント内の箇所、または同じドキュメント内の別の個所への参照 (リンク)。 一般に、ブラウザーは、ハイパーリンクを異なるカラー、フォント、またはスタイルで表示します。ユーザーがリンクをアクティブにする (一般には、マウスでクリック) と、 ブラウザーにリンクのターゲットが表示されます。

パーシスタンス作成されたオブジェクトと変数が、プログラムの複数回の実行の間も継続的に存在し、その値を維持するという、プログラミング言語のプロパティ。

パッケージたとえば JDBC など、関連するクラスのコレクション。

フォールトトレランス単一障害 (システムコンポーネントの障害) の間または後も、データや機能の損失なしにコンピューターシステムが処理を続行する能力。

ブラウザーユーザーがハイパーテキストを読むためのプログラム。ブラウザーは、ノード のコンテンツを表示する手段、およびあるノードから別のノードに移動する手段を提供します。 WWW 用のブラウザーの例としては、Internet Explorer、Netscape Navigator、NCSA Mosaic、Lynx、および W3 があります。 これらは、リモートサーバーに対するクライアントとして動作します。

ブランド認定適合していることが、Sun Microsystems, Inc. によって認証された Java 仮想マシン。

分散トランザクション

複数のデータベースにまたがるトランザクション。

プロトコル特に、ネットワークを介したデータの伝送のための形式ルールのセット。低水準プロトコルは、電気的および物理的な標準、ビット配列、バイト配列、 さらにビットストリームの伝送、エラー検出、およびエラー訂正を定義します。高水準プロトコルは、メッセージの構文、端末からコンピューターへのダイアログ、 文字セット、メッセージのシーケンスなど、データフォーマットを定義します。

米国規格協会 (ANSI)

コンピューターと通信を含めて、多くの分野で米国標準規格の承認に責任を負う、アメリカ合衆国の政府機関。ANSI は、 ISO に加盟しています。ANSI は、ANSI および ISO の (国際) 標準を販売しています。

米国情報交換用標準符号 (ASCII)

今日のコンピューターで主流となっている文字セットのエンコーディング。ASCII は、各文字に 7 ビットを使用します。アクセント付き 文字や、英語で使用されないその他の文字は含まれません (ドイツ語のエスツェットやノルウェー語の ae 合字)。 Unicode と比較してください。

まこの節には項目がありません。

ユニフォームリソースロケーター (URL)

ネットワーク上のオブジェクト (ファイル、ニュースグループ、または JDBC で、データベース) を指定するドラフト標準。 URL は、World Wide Web (WWW) で広範に使用されています。HTML ドキュメントは、URL を使用してハイパーリンクのターゲットを指定します。

例外プログラムの正常な実行を阻害する、プログラム実行中のイベント。一般的にはエラーです。Java メソッドは、 throw キーワードを使用して例外を発行し、try、 catch、および

finally ブロックを使用して例外を処理します。ローカルエリアネットワーク (LAN)

地理的に制限されたデータ通信ネットワーク (一般には半径 1 キロメートル) であり、隣接するビル内の端末、マイクロプロセッサー、コンピューターを簡単に相互接続することができます。 イーサーネットは LAN の例です。

わこの節には項目がありません。

戻る 上へ 進む付録 B スカラー関数 ホーム 索引

マニュアル番号 529651-006J Legal Notice

索引戻る

索引A

API、通信の概要(Java API も参照)レイヤー、通信の概要

ASCII データPreparedStatement インターフェイス、ASCII データ読み取り、CLOB カラムからの ASCII データの読み取り

B

BEA WebLogic Serverサンプルアプリケーション、サンプルサポートされるトランザクション、BEA WLS 8.1 でサポートされるトランザクションシナリオサポートされないトランザクション、BEA WLS 8.1 でサポートされないトランザクションシナリオ

blobTableName プロパティ説明、LOB テーブル名プロパティ設定、LOB テーブルの指定

Blob インターフェイス挿入、Blob インターフェイスによる BLOB カラムの挿入データの読み取り、BLOB カラムからのバイナリデータの読み取り

Blob オブジェクト置換、Blob オブジェクトの置換setBlob メソッド、setBlob メソッドによる Blob オブジェクトの挿入更新、updateBlob メソッドによる Blob オブジェクトの更新

BLOB カラム対応する LOB テーブル、LOB テーブルの指定作成、MXCI による LOB カラムを含む基本テーブルの作成挿入、Blob インターフェイスによる BLOB カラムの挿入読み取り先、BLOB カラムからのバイナリデータの読み取りトランザクション、Blob アクセスと Clob アクセスを含むトランザクションバイナリデータの書き込み、BLOB カラムへのバイナリデータの書き込み

BLOB データサンプルプログラムへのアクセス、BLOB データにアクセスするサンプルプログラムデータ型の制限、LOB データ (CLOB データ型と BLOB データ型) の制限削除、BLOB データの削除プロパティ、クライアントサイドのプロパティ格納、BLOB データの格納更新、BLOB データの更新作業、BLOB データと CLOB データでの作業

C

CLASSPATH 環境変数、CLASSPATH の設定clobTableName プロパティ

説明、LOB テーブル名プロパティ設定、LOB テーブルの指定

Clob インターフェイスCLOB カラムの挿入、Clob インターフェイスによる CLOB カラムの挿入ASCII データまたは MBCS データの書き込み、ASCII データ

Clob オブジェクト挿入、setClob メソッドによる Clob オブジェクトの挿入置換、Clob オブジェクトの置換

CLOB カラム対応する LOB テーブル、LOB テーブルの指定作成、MXCI による LOB カラムを含む基本テーブルの作成挿入、Clob インターフェイスによる CLOB カラムの挿入トランザクション、Blob アクセスと Clob アクセスを含むトランザクションASCII データの書き込み、CLOB カラムへの ASCII データまたは MBCS データの書き込みMBCS データの書き込み、CLOB カラムへの ASCII データまたは MBCS データの書き込み

CLOB データサンプルプログラムへのアクセス、CLOB データにアクセスするサンプルプログラムデータ型の制限、LOB データ (CLOB データ型と BLOB データ型) の制限削除、CLOB データの削除PreparedStatement インターフェイスを使用して挿入、PreparedStatement インターフェイスによる CLOB データの挿入プロパティ、クライアントサイドのプロパティ読み取り、CLOB データの読み取り格納、CLOB データの格納更新、CLOB データの更新作業、BLOB データと CLOB データでの作業

ConnectionPoolDataSource インターフェイスクライアントサイド、JDBC データソース (クライアントサイド)プロパティの設定、プロパティを設定する場所

CREATE TABLE ステートメント基本テーブル、MXCI による LOB カラムを含む基本テーブルの作成

CurrentBlob オブジェクトまたは Clob オブジェクト、Blob オブジェクトと Clob オブジェクトのアクセスに関する考慮事項Where current of、"Update ... Where Current of" 操作

D

DataSource インターフェイスクライアントサイド、JDBC データソース (クライアントサイド)プロパティの設定、プロパティを設定する場所

dataSourceName プロパティ、dataSourceName プロパティDataSource オブジェクト

デプロイ、DataSource オブジェクトをデプロイするタスクの概要DELETE ステートメント

BLOB データ、BLOB データの削除CLOB データ、CLOB データの削除

description プロパティ、description プロパティDriverManager クラス

接続プーリングの参加者、接続プーリング接続の獲得、DriverManager クラスを使用した接続ガイドライン、Driver Manager で接続する場合のガイドラインログライター、標準の JDBC トレース機能とロギング機能プロパティの設定、プロパティを設定する場所

Driver クラス、ドライバーのロードと登録drop オプション、program_options

E

EMPTY_BLOB() 関数説明、NULL と空の BLOB 値または空の CLOB 値制限、Blob インターフェイスによる BLOB カラムの挿入BLOB データの格納、BLOB データの格納

EMPTY_CLOB() 関数説明、NULL と空の BLOB 値または空の CLOB 値制限、Clob インターフェイスによる CLOB カラムの挿入Clob オブジェクトの置換、Clob オブジェクトの置換

EUC_KRJava エンコーディングセット、文字セットのプロパティを使用した文字列リテラル変換の制御

exec オプション、program_options

G

getConnection() メソッドデータソースオブジェクト、データソースでの JNDI を使用した DataSource インスタンスの検索DriverManager クラス、接続の確立

GuardianID、セキュリティユーザー名、セキュリティユーザー名、指定、user プロパティ

H

help オプション、program_options

I

I18N (国際化のサポートを参照)IDL レイヤー、通信の概要initialPoolSize プロパティ

説明、initialPoolSize プロパティInputStream

現在のオブジェクト、Clob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項データの読み取り、BLOB カラムからのバイナリデータの読み取り

ISO8859/2 から ISO8859/9 の文字セット、サポートされない SQL/MP 機能ISO88591_1

Java エンコーディングセット、文字セットのプロパティを使用した文字列リテラル変換の制御ISO88591 プロパティ

説明、ISO88591 プロパティ使用、文字セットのプロパティを使用した文字列リテラル変換の制御

J

Javaエンコーディングセット、文字セットのプロパティを使用した文字列リテラル変換の制御JDK バージョン、インストレーションの要件

javaコマンド行、コマンド行でのプロパティの設定

Java APIドキュメント、Sun Microsystems ドキュメント前提条件、対象読者

Java Naming and Directory Interface (JNDI)、DataSource インターフェイスを使用した接続JDBC

データ型、JDBC データ型ドライバー、移行、JDBC ドライバーチュートリアル、DataSource オブジェクトをデプロイするタスクの概要URL、接続の確立

JDBC 3.0 APIコンプライアンス、コンプライアンスの概要仕様変更、仕様変更ドキュメンテーション、Sun Microsystems ドキュメントパッケージ、タイプ 4 ドライバー API パッケージ前提条件、対象読者サポートされない機能、サポートされない機能

JDBC 3.0 仕様ドキュメンテーション、Sun Microsystems ドキュメント前提条件、対象読者

JDBC のチュートリアル、DataSource オブジェクトをデプロイするタスクの概要JNDI、DataSource インターフェイスを使用した接続

データソースの検索、データソースでの JNDI を使用した DataSource インスタンスの検索

K

KANJI カラム挿入、パディング文字によって長さに差異が発生するケース

KANJI プロパティ説明、KANJI プロパティ使用、文字セットのプロパティを使用した文字列リテラル変換の制御

KSC5601 プロパティ説明、KSC5601 プロパティ使用、文字セットのプロパティを使用した文字列リテラル変換の制御

L

language プロパティ、language プロパティLob Admin ユーティリティ

説明、Lob Admin ユーティリティによる LOB データの管理ヘルプの表示、タイプ 4 Lob Admin ユーティリティのへルプ表示ヘルプの出力、タイプ 4 Lob Admin ユーティリティのへルプ表示java_options、java_options実行、Lob Admin ユーティリティの実行基本テーブルの指定、table_name

LOB カラム(BLOB カラムも参照)バックアップ、LOB カラムのバックアップとリストアデータ型、LOB カラムのデータ型

LOB サポートアーキテクチャー、LOB サポートのアーキテクチャー

LOB データ制限、LOB データ (CLOB データ型と BLOB データ型) の制限

LOB テーブル名前のプロパティ、LOB テーブル名プロパティreserveDataLocators プロパティ、reserveDataLocators プロパティ

LOB テーブル作成、LOB テーブルの作成図で説明、LOB サポートのアーキテクチャーパーティションの制限、LOB テーブルの作成パーティション、LOB テーブルの作成プロパティの設定、LOB テーブルのプロパティの設定指定、LOB テーブルの指定タイプ、LOB テーブルのタイプ

locatorsUpdateCopy メソッド、BLOB データの更新loginTimeout プロパティ、loginTimeout プロパティ

M

maxIdleTime プロパティ、maxIdleTime プロパティmaxPoolSize プロパティ

接続プーリング、接続プーリング説明、maxPoolSize プロパティ

maxStatements プロパティ、maxStatements プロパティMBCS データ

PreparedStatement インターフェイス、ASCII データ読み取り、CLOB カラムからの ASCII データの読み取り

minPoolSize プロパティ、minPoolSize プロパティモジュールファイルキャッシュ

構成、MFC の構成 設計、MFC の設計 制限、制限 概要、MFC の概要 チューニングにおける推奨事項、チューニングにおける推奨事項

使用シナリオ、使用シナリオ MXCS

Association Server、通信の概要データソース、データソースマニュアル、NonStop システムコンピューティングドキュメント

N

networkTimeout プロパティ、networkTimeout プロパティNonStop SQL/MX

マニュアル、NonStop システムコンピューティングドキュメントNonStop Technical Library、関連文書Null パラメーター、DatabaseMetaData メソッドによる Null パラメーター処理のコンフォーマンス

O

out オプション、program_optionsOutputStream

現在のオブジェクト、Clob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項

P

PreparedStatement インターフェイスBlob の挿入、PreparedStatement インターフェイスによる BLOB カラムの挿入CLOB データの挿入、PreparedStatement インターフェイスによる CLOB データの挿入ステートメントプーリング、ステートメントプーリング

properties プロパティ、properties プロパティLob Admin ユーティリティ、java_options

R

Reader現在のオブジェクト、Clob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項

reserveDataLocators プロパティ説明、reserveDataLocators プロパティ

ResultSetMetaData インターフェイスサンプルアプリケーション、サンプル

ResultSet インターフェイスフェッチサイズ、「Update ... Where Current of」操作ストアドプロシージャー、ストアドプロシージャー

roundingMode プロパティ、roundingMode プロパティ

S

schema プロパティ、schema プロパティserverDataSource プロパティ、serverDataSource プロパティsetClob メソッド

挿入、setClob メソッドによる Clob オブジェクトの挿入setLogWriter メソッド、標準の JDBC トレース機能とロギング機能SJIS

Java エンコーディングセット、文字セットのプロパティを使用した文字列リテラル変換の制御Socket 接続、networkTimeout プロパティSPJ (Java でのストアドプロシージャ)

-spj、プログラムオプションSQL/MP

機能、サポートされない SQL/MP 機能SQL/MP テーブル

KAJNI 文字セット、文字セットのプロパティを使用した文字列リテラル変換の制御KSC5601 文字セット、文字セットのプロパティを使用した文字列リテラル変換の制御SQLMPSample アプリケーション、サンプル

SQL/MXドキュメント、NonStop システムコンピューティングドキュメント再コンパイル、ステートメントプーリングのトラブルシューティング必須リリース、インストレーションの要件スレッドセーフなアクセス、スレッドセーフな SQL/MX アクセスサポートされない機能、サポートされない NonStop SQL 機能

SQL/MX テーブル管理、BLOB データと CLOB データを含む SQL/MX テーブルの管理

SQL データ型、タイプ 4 ドライバーの SQL データ型へのコンフォーマンスSQLJ のサポート、SQLJ のサポートSQL リンク JDBC ドライバー、JDBC ドライバーSQLMXMessages_en.properties ファイル、ローカライズされたメッセージファイルの作成手順SQL ステートメント

生成、program_optionsSun Microsystems

ドキュメント、Sun Microsystems ドキュメント

T

T4LobAdmin ユーティリティ実行コマンド、Lob Admin ユーティリティの実行T4LogFile プロパティ

説明、T4LogFile プロパティ使用、タイプ 4 ドライバーのログ出力の制御

T4LogLevel プロパティログ出力の制御、タイプ 4 ドライバーのログ出力の制御説明、T4LogLevel プロパティ

t4sqlmx.jar、製品ファイルtranslationVerification プロパティ

説明、translationVerification プロパティtrigger オプション、program_options

U

UCS2文字セット、パディング文字によって長さに差異が発生するケース

Unicode挿入、Reader による Unicode データを含む CLOB カラムの挿入

読み取り、CLOB カラムからの Unicode データの読み取り-unicode、プログラムオプション書き込み、CLOB カラムへの Unicode データの書き込み

updateBlob メソッド、updateBlob メソッドによる Blob オブジェクトの更新updateClob メソッド、updateClob メソッドによる Clob オブジェクトの更新URL

JDBC、接続の確立url プロパティ

説明、url プロパティuseArrayBinding プロパティ、useArrayBindinguser プロパティ、user プロパティ

W

WebLogic Serverサンプルアプリケーション、サンプル概要、WebLogic Server の概要

Where current of、"Update ... Where Current of" 操作

アーキテクチャーLOB サポート、LOB サポートのアーキテクチャータイプ 4 ドライバー、タイプ 4 ドライバーのアーキテクチャー

アクセスに関する考慮事項Blob オブジェクトと Clob オブジェクト、Blob オブジェクトと Clob オブジェクトのアクセスに関する考慮事項

インストレーション製品ファイル、製品ファイル要件、インストレーションの要件

移行、移行

エラーメッセージ、タイプ 4 ドライバーのエラーメッセージ

オプションLob Admin ユーティリティ、java_options

オペレーティングシステム移行時の問題、オペレーティングシステム

書き込みASCII データ、CLOB カラムへの ASCII データまたは MBCS データの書き込みバイナリデータ、BLOB カラムへのバイナリデータの書き込みMBCS データ、CLOB カラムへの ASCII データまたは MBCS データの書き込み

拡張、HP 拡張確認

インストール、タイプ 4 ドライバーの確認変換、translationVerification プロパティ

格納BLOB データ、BLOB データの格納CLOB データ、CLOB データの格納

管理Lob Admin ユーティリティ、Lob Admin ユーティリティによる LOB データの管理LOB データ、LOB データの管理を開始する前にSQL/MX テーブル、BLOB データと CLOB データを含む SQL/MX テーブルの管理

カタログプロパティ、 カタログプロパティカラム

文字、固定長固定長文字カラムに対するパディングのトリミング

基本テーブル作成、LOB カラムを含む基本テーブルの作成図で説明、LOB サポートのアーキテクチャーLob Admin ユーティリティの指定、テーブル名

機能、本書で更新された内容切り捨て、制御、roundingMode プロパティ

クライアントコンポーネント、タイプ 4 ドライバーによるデータベースアクセス接続セキュリティ、セキュリティデータソース、データソースプラットフォーム、サポート対象のクライアントプラットフォームタイプ 4 プロパティ、クライアントサイドのプロパティ

更新Where current of、"Update ... Where Current of" 操作

更新BLOB データ、BLOB データの更新CLOB データ、CLOB データの更新

国際化のサポート説明、国際化 (I18N) のサポート

プロパティ、クライアントサイドのプロパティコンプライアンス

説明、タイプ 4 ドライバーのコンプライアンス概要、コンプライアンスの概要

コンプライアンスDatabaseMetadata、DatabaseMetaData メソッドによる Null パラメーター処理のコンフォーマンスSQL データ型、タイプ 4 ドライバーの SQL データ型へのコンフォーマンス

サーバーコンポーネント、タイプ 4 ドライバーによるデータベースアクセスID、メッセージ形式名前、トレース対象、メッセージ形式プロパティ、サーバーサイドのプロパティ

作成基本テーブル、LOB カラムを含む基本テーブルの作成データソース、DataSource クラスのインスタンスをプログラムで作成LOB テーブル、LOB テーブルの作成ローカライズされたメッセージファイル、ローカライズされたメッセージファイルの作成手順

削除BLOB データ、BLOB データの削除CLOB データ、CLOB データの削除LOB データ、SQL/MX トリガーによる LOB データの削除

サポートされない機能その他、その他のサポートされない機能SQL/MP、サポートされない SQL/MP 機能SQL/MX、サポートされない NonStop SQL 機能

サンプルBLOB データへのアクセス、BLOB データにアクセスするサンプルプログラムCLOB データへのアクセス、CLOB データにアクセスするサンプルプログラム要約、サンプル

自動コミットモードLOB データアクセス、Blob アクセスと Clob アクセスを含むトランザクション

実行Lob Admin ユーティリティ、Lob Admin ユーティリティの実行

ステートメントキャッシュ、ステートメントキャッシュステートメントプーリング

説明、ステートメントプーリングガイドライン、ステートメントプーリングのガイドラインmaxStatements プロパティ、maxStatements プロパティトラブルシューティング、ステートメントプーリングのトラブルシューティング

ストアドプロシージャー説明、ストアドプロシージャーSQL/MP、サポートされない SQL/MP 機能

スレッド ID、メッセージ形式スレッドセーフなアクセス、スレッドセーフな SQL/MX アクセス

制約、制約セキュリティ、セキュリティ接続

DataSource インターフェイス、使用、DataSource インターフェイスを使用した接続DriverManager クラス、使用、DriverManager クラスを使用した接続方法、SQL/MX への接続方法ID、メッセージ形式制御用のプロパティ、クライアントサイドのプロパティ

接続コンポーネント、タイプ 4 ドライバーによるデータベースアクセスcloseConnectionUponQueryTimeout プロパティ、closeConnectionUponQueryTimeout プロパティconnectionTimeout プロパティ、connectionTimeout プロパティloginTimeout プロパティ、loginTimeout プロパティmaxIdleTime プロパティ、maxIdleTime プロパティconnectionTimeout プロパティ、connectionTimeout プロパティ接続とステートメントプーリング、接続とステートメントプーリングcreate オプション、program_options

接続プーリングinitialPoolSize プロパティ、initialPoolSize プロパティ管理、接続プーリングmaxIdleTime プロパティ、maxIdleTime プロパティmaxPoolSize プロパティ、maxPoolSize プロパティminPoolSize プロパティ、minPoolSize プロパティ

前提条件、対象読者

挿入BLOB カラム、Blob インターフェイスによる BLOB カラムの挿入Blob オブジェクト、setBlob メソッドによる Blob オブジェクトの挿入

対象読者、対象読者タイプ 2 ドライバー、JDBC ドライバータイプ 3 ドライバー、JDBC ドライバータイプ 4 ドライバー

コンプライアンス、タイプ 4 ドライバーのコンプライアンスエラーメッセージ、タイプ 4 ドライバーのエラーメッセージ

JDBC 3.0 API に対する拡張、HP 拡張インストール、タイプ 4 ドライバーのインストールと確認JDBC 3.0 API の仕様変更点、仕様変更JDBC 3.0 API のサポートされない機能、サポートされない機能レイヤー化されたプログラム、通信の概要メッセージ、メッセージその他のサポートされない機能、その他のサポートされない機能製品ファイル、製品ファイル制約、制約文字セットプロパティの使用、文字セットのプロパティを使用した文字列リテラル変換の制御バージョン 1.0、JDBC ドライバーバージョン表記、タイプ 4 ドライバーの確認

タイプ 4 ドライバー APIドキュメンテーション、タイプ 4 ドライバーの実装に固有の APIドキュメント、タイプ 4 ドライバー APIパッケージ、タイプ 4 ドライバー API パッケージ

タイプ 4 ドライバーのロギングアクセス、タイプ 4 ドライバーのロギング機能へのアクセス出力の制御、タイプ 4 ドライバーのログ出力の制御説明、タイプ 4 ドライバーのロギング機能

タイプ 4 プロパティクライアントサイド、クライアントサイドのプロパティコマンド行、コマンド行でのプロパティの設定DriverManager を使用して接続、Driver Manager で接続する場合のガイドライン説明、タイプ 4 ドライバーのプロパティ接続プーリングの参加者の決定、接続プーリング個々のプロパティの説明、タイプ 4 ドライバーのプロパティの説明国際化のサポート、クライアントサイドのプロパティ優先順位、プロパティ指定の優先順位サーバーサイド、サーバーサイドのプロパティ設定、プロパティを設定する場所LOB テーブル用の設定、LOB テーブルのプロパティの設定指定、JDBC タイプ 4 プロパティの指定方法

タイムアウト接続、connectionTimeout プロパティloginTimeout プロパティ、loginTimeout プロパティmaxIdleTime プロパティ、maxIdleTime プロパティnetworkTimeout プロパティ、networkTimeout プロパティ

置換Clob オブジェクト、Clob オブジェクトの置換

通信の概要、通信の概要

データ型JDBC、JDBC データ型LOB カラムLOB カラムのデータ型SQL、タイプ 4 ドライバーの SQL データ型へのコンフォーマンス

データソース構成、DataSource クラスのインスタンスをプログラムで作成構成、 MXCS XA データソース作成、JDBC データソース (クライアントサイド)dataSourceName プロパティ、dataSourceName プロパティログライター、標準の JDBC トレース機能とロギング機能MXCS (サーバーサイド)、MXCS データソース (サーバーサイド)

オブジェクトのプロパティ、DataSource オブジェクトのプロパティ概要、データソースインスタンスをプログラムで作成、DataSource クラスのインスタンスをプログラムで作成登録、DataSource オブジェクトをプログラムで登録検索、データソースでの JNDI を使用した DataSource インスタンスの検索serverDataSource プロパティ、serverDataSource プロパティ接続の手順、データソースでの JNDI を使用した DataSource インスタンスの検索

データベースアクセスを図で説明、タイプ 4 ドライバーによるデータベースアクセスアクセス、SQL/MX による SQL データベースへのアクセスサードパーティ、サードパーティ製データベース

データロケーターreserveDataLocators プロパティ、reserveDataLocators プロパティ予約、データロケーターの予約

データロケーターの予約、データロケーターの予約

登録ドライバー、ドライバーのロードと登録

ドキュメント印刷、本書を印刷する構成、本書の構成

ドキュメントNonStop コンピューティングマニュアル、 NonStop システムコンピューティングドキュメント関連文書、関連文書SQL/MX、NonStop システムコンピューティングドキュメント

ドライバー移行、JDBC ドライバー

トランザクションBlob アクセスと Clob アクセス、Blob アクセスと Clob アクセスを含むトランザクション

トランザクション制御ステートメントSQL/MP、サポートされない SQL/MP 機能SQL/MX、サポートされない NonStop SQL 機能

トランスポートレイヤー、通信の概要

トラブルシューティング固定長文字カラムの挿入、パディング文字によって長さに差異が発生するケースロギング、T4LogLevel に関する考慮事項ステートメントプーリング、ステートメントプーリングのトラブルシューティング

トリガーLOB データの削除、SQL/MX トリガーによる LOB データの削除SQL ステートメントの生成、program_options

トレース機能、トレース機能とロギング機能プロパティ、クライアントサイドのプロパティ標準機能、標準の JDBC トレース機能とロギング機能

認証、セキュリティ

バイナリデータ読み取り、BLOB カラムからのバイナリデータの読み取り書き込み、BLOB カラムへのバイナリデータの書き込み

パスワード認証、セキュリティプロパティ、password プロパティ

バックアップ、LOB カラムのバックアップとリストアバッチ、ストアドプロシージャーパディングのトリミング、固定長文字カラムに対するパディングのトリミング

表記の規則、表記の規則

プーリング、クライアントサイドのプロパティ(接続プーリングも参照)有効化、maxPoolSize プロパティ管理プロパティ、クライアントサイドのプロパティ

フェッチサイズ、「Update ... Where Current of」操作浮動小数点のサポート、浮動小数点のサポートプライマリキー

基本テーブル、MXCI による LOB カラムを含む基本テーブルの作成プラットフォーム、サポート対象のクライアントプラットフォーム付録 A、CLOB データおよび BLOB データにアクセスするサンプルプログラム付録 B、スカラー関数プロパティ、JDBC ドライバー

(タイプ 4 プロパティも参照)移行、JDBC ドライバー

プロパティファイルDataSource オブジェクト、データソースを構成するプロパティファイルの指定Lob Admin ユーティリティ、java_options

変更点、本書で更新された内容

ホワイトペーパー製品 CD、製品ファイル関連文書、関連文書

本書内の省略形、省略形

メッセージローカライズされたファイルの作成、ローカライズされたメッセージファイルの作成手順国際化、メッセージの国際化language プロパティ、language プロパティローカライズされたファイル、ローカライズされたメッセージファイルのファイル名の形式ローカライズ、エラーメッセージとステータスメッセージのローカライズタイプ 4 ドライバー、メッセージ

メッセージ形式、ログ出力メッセージ形式メッセージの国際化、メッセージの国際化メッセージのローカライズ、エラーメッセージとステータスメッセージのローカライズ

文字セットISO8859/2 から ISO8859/9、サポートされない SQL/MP 機能SQL/MX、文字セットのプロパティを使用した文字列リテラル変換の制御

文字セットのプロパティ使用、文字セットのプロパティを使用した文字列リテラル変換の制御使用、文字セットプロパティの使用

文字のパディング、パディング文字によって長さに差異が発生するケース文字列リテラル

変換の制御、文字セットのプロパティを使用した文字列リテラル変換の制御使用、文字列リテラルをアプリケーションで使用するケース

優先順位プロパティ指定、プロパティ指定の優先順位

要件クライアントプラットフォーム、サポート対象のクライアントプラットフォームNonStop サーバー、タイプ 4 ドライバーのアーキテクチャーハードウェア、インストレーションの要件JDK バージョン、インストレーションの要件NonStop システム、インストレーションの要件

用語集、用語集読み取り

バイナリデータ、BLOB カラムからのバイナリデータの読み取りCLOB データ、CLOB データの読み取り

ライター現在のオブジェクト、Clob オブジェクトと Blob オブジェクトのアクセスに関する考慮事項

リストアLOB カラム、LOB カラムのバックアップとリストア

例外文字セットの変換、例外処理の制御

ロギング機能、トレース機能とロギング機能レベル、ログレベルメッセージ形式、メッセージ形式出力の例、ログ出力の例プロパティ、クライアントサイドのプロパティ標準機能、標準の JDBC トレース機能とロギング機能T4LogFile プロパティ、T4LogFile プロパティT4LogLevel プロパティ、T4LogLevel プロパティタイプ 4 ドライバーの機能、タイプ 4 ドライバーのロギング機能

戻る 上へ

用語集 ホーム

マニュアル番号 529651-006J Legal Notice