Instead of specifying the metadata collection name as a string constant, you may use members of System.Data.DbMetaDataCollectionNames and Devart.Data.DB2.DB2MetadataCollectionNames as the first GetSchema argument values. The members of these classes are the string fields, each field stores the corresponding metadata collection name. It is recommended to use these fields rather than manually input the collection names manually as the string constants because in case of using these fields, you will find misspellings at compile-time, and intellisense will show you all the available metadata collection names. GetSchema Method Reference
The following table provides detailed information on metadata collections that can be retrieved using the GetSchema method, and restrictions that can be applied for them. Some collections may be not supported in older server versions. If you try to get metadata for unsupported collection you will get exception with message "Collection not defined".
Collection NameNumber of restrictions
RemarksMetaDataCollections0
Returns this list. Same as using GetSchema() method without parameters.Restrictions0
Lists restrictions for each metadata collection.ReservedWords0
Lists all reserved words used in the server.DataSourceInformation0
Returns the information about the data source, associated with this DB2Connection instance.DataTypes0
Lists data types supported by DB2 server.Catalogs0
Lists databases on the DB2 server.Schemas0
Lists schemas on the DB2 server.Tables4
GetSchema("Tables") returns the list of all tables (and/or views) on the server that you have access to.
The first restriction for this collection is name of a database.
The second restriction for this collection is name of a schema. If specified, the method returns all tables within the schema.
The third restriction is table name.
The third restriction is table type. Can be 'TABLE' or 'VIEW' or 'ALIAS'.
TablePrivileges3
GetSchema("Views") returns the list of table privileges on the server that you have access to.
The first restriction for this collection is name of a database.
The second restriction for this collection is name of a schema. If specified, the method returns the table privileges within the schema.
The third restriction is the name of the table.
Columns4
Returns the list of columns, their type and some extra information.
GetSchema("Columns") returns the list of all columns in all databases on the server you have access to.
Restricted by database name, the method returns all columns in the specified database.
Restricted by schema name, the method returns all columns in the specified schema.
The second restriction is a name of a table that GetSchema method should search in.
At last, you can specify column name.
Column Privileges4
Returns the list of column privileges.
GetSchema("Column Privileges") returns the list of column privileges in all databases on the server you have access to.
Restricted by database name, the method returns all column privileges for the specified database.
Restricted by schema name, the method returns all column privileges for the specified schema.
The third restriction is a name of a table that GetSchema method should search in.
At last, you can specify column name.
Indexes5
Returns the list of indexes and their details.
The first restriction is name of a database.
The second restriction is name of a schema the indexes belongs to.
The third restriction is name of a table that uses the index.
The fourth restriction defines whether to return information for unique indexes only. Can be true or false.
The last restriction is name of schema the table belongs to.
Functions3
Returns the list of functions on the server. The following restrictions may be specified:
Database name;
Schema name;
Function name.
Procedures4
Returns the list of procedures on the server. The following restrictions may be specified:
Database name;
Schema name;
Module name;
Procedure name.
Function Parameters4
Returns the list of function arguments. The following restrictions may be specified:
Database name;
Schema name;
Procedure name;
Argument name.
Procedure Parameters5
Returns the list of procedure arguments. The following restrictions may be specified:
Database name;
Schema name;
Module name;
Procedure name;
Argument name.
PrimaryKeys4
Returns the list of primary keys on the server. The following restrictions may be specified:
Database name;
Schema name;
Table name.
ForeignKeys6
Returns the list of foreign keys on the server. The following restrictions may be specified: