DatabaseMetaData インターフェース

DatabaseMetaData インターフェースは、データベース全体に関する包括的な情報を提供します。

これらのメソッドの一部では、カタログ名およびスキーマ名に String 引き数を使用します。 これらの引き数は DB2 Everyplace では無視されます。

ここに示すいくつかのメソッドは、ResultSet オブジェクトのフォームで情報のリストを戻します。 getString や getInt などの通常の ResultSet メソッドを使用して、これらの ResultSet から データを取り出すことができます。

指定されたフォームのメタデータが利用不能な場合、これらのメソッドは SQLException をスローします。

java.sql パッケージ

共通インターフェース DatabaseMetaData

表 98には、DB2 Everyplace でサポートされている DatabaseMetaData インターフェース内のフィールドがリストされています。

表 98. DatabaseMetaData フィールド

フィールド・タイプ フィールド
static int columnNoNulls 列で NULL 値が許可されていない可能性のあることを示す。
static int columnNullable 列で明確に NULL 値を許可していることを示す。
static int columnNullableUnknown 列のヌル可能性が不明であることを示す。

表 99には、DB2 Everyplace でサポートされている DatabaseMetaData インターフェースのメソッドがリストされています。

表 99. DatabaseMetaData インターフェース・メソッド

メソッドの戻り値タイプ メソッド
ResultSet getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern) 指定されたカタログ内で使用可能な表列の記述を取得する。
Connection getConnection() JDBC 2.0。このメタデータ・オブジェクトを作成した接続を検索する。
ResultSet getCrossReference(String primaryCatalog, String primarySchema, String primaryTable, String foreignCatalog, String foreignSchema, String foreignTable) 主キー表の主キー列を参照する、外部キー表の外部キー列の記述 を取得する (ある表が別のキーをインポートする方法についての記述)。これは、通常、単一の 外部キー/主キーのペアを戻す (ほとんどの表では、表から外部キーを一度インポートするのみとなる)。 これらは、FKTABLE_NAME および KEY_SEQ 順に配列される。
String getDatabaseProductName() このデータベース製品の名前は?
String getDatabaseProductVersion() このデータベース製品のバージョンは?
int getDriverMajorVersion() この JDBC ドライバーの メジャー・バージョン番号は?
int getDriverMinorVersion() この JDBC ドライバー のマイナー・バージョン番号は?
String getDriverName() この JDBC ドライバーの名前は?
String getDriverVersion() この JDBC ドライバーのバージョンは?
ResultSet getExportedKeys(String catalog, String schema, String table) 表の主キー列を参照する 外部キー列 (表によってエクスポートされた外部キー) の記述を取得する。
String getIdentifierQuoteString() SQL ID の引用に使用されるストリングは? これは、ID 引用がサポートされていない 場合、スペース " " を戻す。
ResultSet getImportedKeys(String catalog, String schema, String table) 表の外部キー列 (表によってエクスポートされた外部キー) により参照 される主キー列の記述を取得する。
int getMaxBinaryLiteralLength() インライン・バイナリー・リテラルに入れることのできる 16 進文字数は?
int getMaxCharLiteralLength() 文字リテラルの最大長は?
int getMaxColumnNameLength() 列名の長さの限度は?
int getMaxColumnsInGroupBy() GROUP BY 文節の最大列数は?
int getMaxColumnsInIndex() 索引に許可される最大列数は?
int getMaxColumnsInOrderBy() ORDER BY 文節の最大列数は?
int getMaxColumnsInSelect() SELECT ステートメントの最大列数は?
int getMaxConnections() このデータベースに対して 同時に保持できるアクティブ接続数は?
int getMaxIndexLength() 索引の最大長は (バイト単位)?
int getMaxRowSize() 単一行の最大長は?
int getMaxStatementLength() SQL ステートメントの最大長は?
int getMaxStatements() このデータベースに対して 一度にオープンできるアクティブ・ステートメント数は?
int getMaxTableNameLength() 表名の最大長は?
int getMaxTablesInSelect() SELECT ステートメントの最大表数は?
int getMaxUserNameLength() ユーザー名の最大長は?
ResultSet getPrimaryKeys(String catalog, String schema, String table) 表の主キー列 の記述を取得する。
String getSearchStringEscape() ワイルドカード文字 を拡張するために使用できるストリングを取得する。
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types) カタログ内で使用可能な表の記述を取得する。
ResultSet getUDTs(String catalog, String schemaPattern, String typeNamePattern, int[] types) JDBC 2.0。特定のスキーマ内に定義されたユーザー定義タイプの記述を取得する。DB2 Everyplace では UDT をサポートしていないため、常に空の結果セットを戻す。
String getURL() このデータベース の URL は?
String getUserName() データベース に認識されているユーザー名は?
boolean supportsColumnAliasing() 列の別名割り当てはサポートされているか?
boolean supportsFullOuterJoins() 完全ネストされた外部結合はサポートされているか?
boolean supportsMixedCaseIdentifiers() データベースでは、引用符で囲まれていない大文字小文字混合の SQL ID をケース・センシティブとして扱い、大文字小文字混合でそれら ID を保管するか?
boolean supportsMixedCaseQuotedIdentifiers() データベースでは、引用符で囲まれた大文字小文字混合の SQL ID をケース・センシティブとして扱い、大文字小文字の区別でそれら ID を保管するか?
boolean supportsNonNullableColumns() 列はヌル不可能として定義できるか?
boolean supportsOrderByUnrelated() 「ORDER BY」文節では、SELECT ステートメントに存在しない列を使用できるか?
boolean supportsOuterJoins() 何らかの形式の外部結合がサポートされているか?
boolean supportsPositionedDelete() 位置決めされた DELETE はサポートされているか?
boolean supportsPositionedUpdate() 位置決めされた UPDATE はサポートされているか?
boolean supportsResultSetType(int type) JDBC 2.0。データベースでは指定された結果セット・タイプはサポートされているか?
boolean supportsSchemasInTableDefinitions() 表定義ステートメントでスキーマ名は使用できるか?
boolean supportsTransactions() トランザクションはサポートされているか? サポートされていない場合、分離レベルは TRANSACTION_NONE。

関連したタスク

関連した解説