Data Provider for .NET Guide (v11)

Additional スキーマ コレクション

Pervasive PSQL ADO.NET データ プロバイダーは、以下に示す追加のスキーマ コレクションをサポートしています。

Columns スキーマ コレクション

説明:Columns スキーマ コレクションは、指定したユーザーがアクセスできるカタログに定義されているテーブル(ビューも含む)の列を識別します。表 54 では、指定したユーザーがアクセスできるカタログに定義されているテーブルの列を示します。

制限の数: 3

使用可能な制限:TABLE_CATALOG、TABLE_NAME、COLUMN_NAME

ソート順:TABLE_CATALOG、TABLE_NAME、ORDINAL_POSITION

表 54 Columns スキーマ コレクション
列名
.NET Framework データ型1
説明
CHARACTER_MAXIMUM_LENGTH
Int32
列の値に許容される最大長。文字、バイナリ、またはビットの列の場合、これは次のいずれかになります。
  • いずれかの列が定義されている場合は、それぞれ文字単位、バイト単位、ビット単位の列の最大長。
  • 列の長さが定義されていない場合は、それぞれ文字単位、バイト単位、ビット単位のデータ型の最大長。
  • 列にもデータ型にも最大長が定義されていない場合、あるいは列が文字、バイナリ、ビットのいずれでもない場合は、ゼロ(0)。
CHARACTER_OCTET_LENGTH
Int32
列の型が文字またはバイナリの場合は、8 進数(バイト単位)で表す列の最大長。
値ゼロ(0)は、その列が最大長を持たないか、あるいは、文字またはバイナリの列でないことを意味します。
COLUMN_DEFAULT
String
列のデフォルト値。
COLUMN_HASDEFAULT
Boolean
TRUE:列にはデフォルト値があります。
FALSE:列にデフォルト値がないか、もしくはデフォルト値があるかどうかが不明です。
COLUMN_NAME
String
列の名前。これは一意でない可能性があります。
DATA_TYPE
Object
列のデータ型のインジケーター。
この値をヌルにすることはできません。
IS_NULLABLE
Boolean
TRUE:列はヌル値を許可する可能性があります。
FALSE:列がヌル値を許可するかどうかわかりません。
NATIVE_DATA_TYPE
String
型のデータ ソース記述。
この値をヌルにすることはできません。
NUMERIC_PRECISION
Int32
列のデータ型が数値データのものである場合、これは列の最大精度(有効桁数)になります。
NUMERIC_PRECISION_RADIX
Int32
どの数を基礎として NUMERIC_PRECISION および NUMERIC_SCALE で値を表現するかを示す基数。2 または 10 を返す場合にのみ有効です。
NUMERIC_SCALE
Int32
列の型が小数位を持つ数値型の場合、これは小数点より右側の桁数です。
ORDINAL_POSITION
Int32
列の序数。列には 1 から始まる番号が付けられています。
PROVIDER_DEFINED_TYPE
Int32
列のデータ ソース定義の型は、データ プロバイダーの型の列挙(たとえば PsqlDbType 列挙)にマップされています。
この値をヌルにすることはできません。
PROVIDER_GENERIC_TYPE
Int32
列のプロバイダー定義の型は System.Data.DbType 列挙にマップされています。
この値をヌルにすることはできません。
TABLE_CATALOG
String
データベース名。
TABLE_NAME
String
テーブル名。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

ForeignKeys スキーマ コレクション

説明:ForeignKeys スキーマ コレクションは、指定したユーザーによってカテゴリ内に定義された外部キー列を識別します。

制限の数: 2

使用可能な制限:FK_TABLE_CATALOG、PK_TABLE_NAME

ソート順:FK_TABLE_CATALOG、FK_TABLE_NAME

表 55 ForeignKeys スキーマ コレクション
列名
.NET Framework データ型1
説明
DEFERRABILITY
String
外部キーを延期できるか。次のいずれかの値になります。
  • INITIALLY DEFERRED
  • INITIALLY IMMEDIATE
  • NOT DEFERRABLE
DELETE_RULE
String
削除規則が指定された場合は、次のいずれかの値になります。
CASCADE:CASCADE の参照操作が指定されました。
SET NULL:SET NULL の参照操作が指定されました。
SET DEFAULT:SET DEFAULT の参照操作が指定されました。
NO ACTION:NO ACTION の参照操作が指定されました。
FK_COLUMN_NAME
String
外部キー列の名前。
FK_NAME
String
外部キー名。この制限は必須です。
FK_TABLE_CATALOG
String
外部キー テーブルが定義されているカタログ名。
FK_TABLE_NAME
String
外部キー テーブル名。この制限は必須です。
ORDINAL
Int32
キーにおける列名の順序。たとえば、あるテーブルに別のテーブルへの外部キー参照がいくつか含まれているとします。序数は参照ごとに最初から始まります。3 列のキーへの 2 つの参照ならば、1, 2, 3, 1, 2, 3 を返します。
PK_COLUMN_NAME
String
主キー列の名前。
PK_NAME
String
主キー名。
PK_TABLE_CATALOG
String
主キー テーブルが定義されているカタログ名。
PK_TABLE_NAME
String
主キー テーブル名。
UPDATE_RULE
String
更新規則が指定された場合は、次のいずれかの値になります。
CASCADE:CASCADE の参照操作が指定されました。
SET NULL:SET NULL の参照操作が指定されました。
SET DEFAULT:SET DEFAULT の参照操作が指定されました。
NO ACTION:NO ACTION の参照操作が指定されました。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

Indexes スキーマ コレクション

説明:Indexes スキーマ コレクションは、指定したユーザーが所有しているカテゴリ内に定義されたインデックスを識別します。

制限の数: 2

使用可能な制限:TABLE_CATALOG、TABLE_NAME

ソート順:UNIQUE、TYPE、INDEX、CATALOG、INDEX_NAME、ORDINAL_POSITION

表 56 Indexes スキーマ コレクション
列名
.NET Framework データ型1
説明
CARDINALITY
Int32
インデックスに含まれる一意な値の数。
COLLATION
String
次のいずれかの値になります。
ASC:列の並べ替え順は昇順です。
DESC:列の並べ替え順は降順です。
COLUMN_NAME
String
列名。
FILTER_CONDITION
String
フィルター制限を識別する WHERE 句。
INDEX_CATALOG
String
カタログ名。
INDEX_NAME
String
インデックス名。
ORDINAL_POSITION
Int32
インデックスにおける列の位置を表す、1 から始まる序数。
PAGES
Int32
インデックスの格納に使用されるページ数。
TABLE_CATALOG
String
カタログ名。
TABLE_NAME
String
テーブル名。
TYPE
String
インデックスの種類。次のいずれかの値になります。
BTREE:インデックスは B+-ツリーです。
HASH:インデックスは、直線的なハッシュや伸縮可能なハッシュを用いたハッシュ ファイルです。
CONTENT:インデックスはコンテンツ インデックスです。
OTHER:インデックスは上記の種類以外のインデックスです。
UNIQUE
Boolean
インデックス キーは一意である必要があるかどうかを決定します。次のいずれかの値になります。
TRUE:インデックス キーは一意でなければなりません。
FALSE:重複キーが許されます。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

PrimaryKeys スキーマ コレクション

説明:PrimaryKeys スキーマ コレクションは、指定したユーザーによってカテゴリ内に定義された主キー列を識別します。

制限の数: 2

使用可能な制限:TABLE_CATALOG、TABLE_NAME

ソート順:TABLE_CATALOG、TABLE_NAME

表 57 PrimaryKeys スキーマ コレクション
列名
.NET Framework データ型1
説明
COLUMN_NAME
String
主キー列の名前。
ORDINAL
Int32
キーにおける列名の順序。
PK_NAME
String
主キー名。
TABLE_CATALOG
String
テーブルが定義されているデータベース名。
TABLE_NAME
String
テーブル名。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

ProcedureParameters スキーマ コレクション

説明:ProcedureParameters スキーマ コレクションは、Procedures コレクションの一部であるプロシージャのパラメーターおよびリターン コードに関する情報を返します。

制限の数: 3

使用可能な制限:PROCEDURE_CATALOG、PROCEDURE_NAME、PARAMETER_NAME

ソート順:PROCEDURE_CATALOG、PROCEDURE_NAME、ORDINAL_POSITION

表 58 ProcedureParameters スキーマ コレクション
列名
.NET Framework データ型1
説明
CHARACTER_OCTET_LENGTH
Int32
パラメーターの型が文字またはバイナリの場合は、8 進数(バイト単位)で表すパラメーターの最大長。
パラメーターが最大長を持たない場合、値はゼロ(0)になります。
上記の型以外のパラメーターでは、値は -1 になります。
DATA_TYPE
Object
列のデータ型のインジケーター。
この値をヌルにすることはできません。
DESCRIPTION
String
パラメーターの記述。たとえば、新しい従業員を追加するプロシージャの Name パラメーターの記述を Employee name としてもかまいません。
IS_NULLABLE
Boolean
TRUE:パラメーターはヌル値を許可する可能性があります。
FALSE:パラメーターはヌル値を許可しません。
NATIVE_DATA_TYPE
String
型のデータ ソース記述。
この値をヌルにすることはできません。
NUMERIC_PRECISION
Int32
列のデータ型が数値である場合、これは列の最大精度(有効桁数)になります。
列のデータ型が数値でない場合、これは DbNull になります。
NUMERIC_SCALE
Int32
列の型が小数位を持つ数値型の場合、これは小数点より右側の桁数です。
それ以外の場合、これは DbNull になります。
ORDINAL_POSITION
Int32
パラメーターが入力、入出力、または出力パラメーターである場合、これはプロシージャ呼び出しにおけるパラメーターの位置を表す、1 から始まる序数です。
パラメーターが戻り値の場合、これは DbNull になります。
PARAMETER_DEFAULT
String
パラメーターのデフォルト値。
デフォルト値が NULL の場合、PARAMETER_HASDEFAULT 列は TRUE を返し、PARAMETER_DEFAULT 列は存在しなくなります。
PARAMETER_HASDEFAULT に FALSE を設定すると、PARAMETER_DEFAULT 列が存在しなくなります。
PARAMETER_HASDEFAULT
Boolean
TRUE:パラメーターにはデフォルト値があります。
FALSE:パラメーターにデフォルト値がないか、もしくはデフォルト値があるかどうかが不明です。
PARAMETER_NAME
String
パラメーター名。パラメーターに名前が付いていない場合、これは DbNull になります。
PARAMETER_TYPE
String
次のいずれかの値になります。
INPUT:パラメーターは入力パラメーターです。
INPUTOUTPUT:パラメーターは入出力パラメーターです。
OUTPUT:パラメーターは出力パラメーターです。
RETURNVALUE:パラメーターはプロシージャの戻り値です。
UNKNOWN:データ プロバイダーには不明なパラメーターの種類です。
PROCEDURE_CATALOG
String
カタログ名。
PROCEDURE_NAME
String
プロシージャ名。
PROVIDER_DEFINED_TYPE
Int32
列のデータ ソース定義の型は、データ プロバイダーの型の列挙(たとえば PSQLDbType 列挙)にマップされています。
この値をヌルにすることはできません。
PROVIDER_GENERIC_TYPE
Int32
列のデータ ソース定義の型は System.Data.DbType 列挙にマップされています。
この値をヌルにすることはできません。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

Procedures スキーマ コレクション

説明:Procedures スキーマ コレクションは、カタログに定義されているプロシージャを識別します。可能であれば、接続ユーザーが EXECUTE 権限を持っているプロシージャのみを返すようにしてください。

制限の数: 2

使用可能な制限:PROCEDURE_CATALOG、PROCEDURE_NAME、PROCEDURE_TYPE

ソート順:PROCEDURE_CATALOG、PROCEDURE_NAME

表 59 Procedures スキーマ コレクション
列名
.NET Framework データ型1
説明
PROCEDURE_CATALOG
String
データベース名。
PROCEDURE_NAME
String
プロシージャ名。
PROCEDURE_TYPE
String
次のいずれかの値になります。
UNKNOWN:値が返されるかどうかわかりません。
PROCEDURE:プロシージャ。値は返されません。
FUNCTION:関数。値が返されます。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

TablePrivileges スキーマ コレクション

説明:TablePrivileges スキーマ コレクションは、カタログに定義されているテーブルについて、指定したユーザーが利用できる、つまり許可されている権限を識別します。

制限の数: 3

使用可能な制限:TABLE_CATALOG、TABLE_NAME、GRANTEE

ソート順:TABLE_CATALOG、TABLE_NAME、PRIVILEGE_TYPE

表 60 TablePrivileges スキーマ コレクション
列名
型インジケーター1
説明
GRANTEE
String
権限が付与されているユーザー名(または PUBLIC)。
PRIVILEGE_TYPE
String
権限のタイプ。次のいずれかのタイプになります。
  • DELETE
  • INSERT
  • REFERENCES
  • SELECT
  • UPDATE
TABLE_CATALOG
String
テーブルが定義されているデータベースの名前。
TABLE_NAME
String
テーブル名。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

Tables スキーマ コレクション

説明:Tables スキーマ コレクションは、指定したユーザーがアクセスできるカタログに定義されているテーブル(ビューも含む)を識別します。

制限の数: 3

使用可能な制限:TABLE_CATALOG、TABLE_NAME、TABLE_TYPE

ソート順:TABLE_TYPE、TABLE_CATALOG、TABLE_NAME

表 61 Tables スキーマ コレクション
列名
.NET Framework データ型1
説明
DESCRIPTION
String
テーブルの記述。
列に関連付けられている記述がない場合、データ プロバイダーは DbNull を返します。
TABLE_CATALOG
String
テーブルが定義されているデータベースの名前。
TABLE_NAME
String
テーブル名。
TABLE_TYPE
String
テーブルの種類。次のいずれかです。
  • ALIAS
  • GLOBAL TEMPORARY
  • LOCAL TEMPORARY
  • SYNONYM
  • SYSTEM TABLE
  • SYSTEM VIEW
  • TABLE
  • VIEW
この列に空文字列を含めることはできません。
1 クラスはすべて System.XXX です。たとえば、System.String となります。

Views スキーマ コレクション

説明:Views スキーマ コレクションは、指定したユーザーがアクセスできるカタログに定義されているビューを識別します。

制限の数: 2

使用可能な制限:TABLE_CATALOG、TABLE_NAME

ソート順:TABLE_CATALOG、TABLE_NAME

表 62 Views スキーマ コレクション
列名
型インジケーター1
説明
TABLE_CATALOG
String
テーブルが定義されているデータベースの名前。
TABLE_NAME
String
テーブル名。
VIEW _DEFINITION
String
ビュー定義。これはクエリ式です。
1 クラスはすべて System.XXX です。たとえば、System.String となります。


GetSchema メソッドによるスキーマ メタデータの取得

.NET の SQL エスケープ シーケンス