語法
Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)
返回值
返回包含模式信息的 Recordset 對象。Recordset 將以只讀、靜態(tài)游標(biāo)打開。
參數(shù)
QueryType 所要運行的模式查詢類型,可以為下列任意常量。
Criteria 可選。每個 QueryType 選項的查詢限制條件數(shù)組,如下所列:
QueryType 值 |
Criteria 值 |
AdSchemaAsserts |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
AdSchemaCatalogs |
CATALOG_NAME |
AdSchemaCharacterSets |
CHARACTER_SET_CATALOG CHARACTER_SET_SCHEMA CHARACTER_SET_NAME |
AdSchemaCheckConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
AdSchemaCollations |
COLLATION_CATALOG COLLATION_SCHEMA COLLATION_NAME |
AdSchemaColumnDomainUsage |
DOMAIN_CATALOG DOMAIN_SCHEMA DOMAIN_NAME COLUMN_NAME |
AdSchemaColumnPrivileges |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME GRANTOR GRANTEE |
adSchemaColumns |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaConstraintColumnUsage |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaConstraintTableUsage |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaForeignKeys |
PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME FK_TABLE_CATALOG FK_TABLE_SCHEMA FK_TABLE_NAME |
adSchemaIndexes |
TABLE_CATALOG TABLE_SCHEMA INDEX_NAME TYPE TABLE_NAME |
adSchemaKeyColumnUsage |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
adSchemaPrimaryKeys |
PK_TABLE_CATALOG PK_TABLE_SCHEMA PK_TABLE_NAME |
adSchemaProcedureColumns |
PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME COLUMN_NAME |
adSchemaProcedureParameters |
PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMTER_NAME |
adSchemaProcedures |
PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PROCEDURE_TYPE |
adSchemaProviderSpecific |
參見說明 |
adSchemaProviderTypes |
DATA_TYPE BEST_MATCH |
adSchemaReferentialConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME |
adSchemaSchemata |
CATALOG_NAME SCHEMA_NAME SCHEMA_OWNER |
adSchemaSQLLanguages |
<無> |
adSchemaStatistics |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
adSchemaTableConstraints |
CONSTRAINT_CATALOG CONSTRAINT_SCHEMA CONSTRAINT_NAME TABLE_CATALOG TABLE_SCHEMA TABLE_NAME CONSTRAINT_TYPE |
adSchemaTablePrivileges |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME GRANTOR GRANTEE |
adSchemaTables |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
adSchemaTranslations |
TRANSLATION_CATALOG TRANSLATION_SCHEMA TRANSLATION_NAME |
adSchemaUsagePrivileges |
OBJECT_CATALOG OBJECT_SCHEMA OBJECT_NAME OBJECT_TYPE GRANTOR GRANTEE |
adSchemaViewColumnUsage |
VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
adSchemaViewTableUsage |
VIEW_CATALOG VIEW_SCHEMA VIEW_NAME |
adSchemaViews |
TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
SchemaID OLE DB 規(guī)范沒有定義用于提供者模式查詢的 GUID。如果 QueryType 設(shè)置為 adSchemaProviderSpecific,則需要該參數(shù),否則不使用它。
說明
OpenSchema 方法返回與數(shù)據(jù)源有關(guān)的信息,例如關(guān)于服務(wù)器上的表以及表中的列等信息。
Criteria 參數(shù)是可用于限制模式查詢結(jié)果的值數(shù)組。每個模式查詢有它支持的不同參數(shù)集。實際模式由 IDBSchemaRowset 接口下的 OLE DB 規(guī)范定義。ADO 中所支持的參數(shù)集已在上面列出。
如果提供者定義未在上面列出的非標(biāo)準(zhǔn)模式查詢,則常量 adSchemaProviderSpecific 將用于 QueryType 參數(shù)。在使用該常量時需要 SchemaID 參數(shù)傳遞模式查詢的 GUID 以用于執(zhí)行。如果 QueryType 設(shè)置為 adSchemaProviderSpecific 但是沒有提供 SchemaID,將導(dǎo)致錯誤。
提供者不需要支持所有的 OLE DB 標(biāo)準(zhǔn)模式查詢,只有 adSchemaTables、adSchemaColumns 和 adSchemaProviderTypes 是 OLE DB 規(guī)范需要的。但是對于這些模式查詢,提供者不需要支持上面列出的 Criteria 條件約束。
遠(yuǎn)程數(shù)據(jù)服務(wù)用法 OpenSchema 方法在客戶端 Connection 對象上無效。
注意 在 Visual Basic 中,在由 Connection 對象的 OpenSchema 方法所返回的 Recordset 中有 4 字節(jié)無符號整型 (DBTYPE UI4) 的列無法與其他變量比較。有關(guān) OLE DB 數(shù)據(jù)類型的詳細(xì)信息,請參閱“Microsoft OLE DB 程序員參考”的第十章和附錄 A。