OpenSchema 方法詳解

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- OpenSchema 方法詳解 (http://www.webasp.net/article/18/17827.htm)
-- 作者:未知
-- 發佈日期: 2005-04-21
  
OpenSchema 方法
從提供者獲取數據庫模式信息。
語法
Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)
返回值
返回包含模式信息的 Recordset 對象。Recordset 將以只讀、靜態游標打開。
參數
QueryType   所要運行的模式查詢類型,可以為下列任意常量。
Criteria   可選。每個 QueryType 選項的查詢限制條件數組,如下所列:
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 規範沒有定義用於提供者模式查詢的 GUID。如果 QueryType 設置為 adSchemaProviderSpecific,則需要該參數,否則不使用它。
說明
OpenSchema 方法返回與數據源有關的信息,例如關於服務器上的表以及表中的列等信息。
Criteria 參數是可用於限制模式查詢結果的值數組。每個模式查詢有它支持的不同參數集。實際模式由 IDBSchemaRowset 接口下的 OLE DB 規範定義。ADO 中所支持的參數集已在上面列出。
如果提供者定義未在上面列出的非標準模式查詢,則常量 adSchemaProviderSpecific 將用於 QueryType 參數。在使用該常量時需要 SchemaID 參數傳遞模式查詢的 GUID 以用於執行。如果 QueryType 設置為 adSchemaProviderSpecific 但是沒有提供 SchemaID,將導致錯誤。
提供者不需要支持所有的 OLE DB 標準模式查詢,只有 adSchemaTables、adSchemaColumns 和 adSchemaProviderTypes 是 OLE DB 規範需要的。但是對於這些模式查詢,提供者不需要支持上面列出的 Criteria 條件約束。
遠程數據服務用法   OpenSchema 方法在客戶端 Connection 對像上無效。
注意   在 Visual Basic 中,在由 Connection 對象的 OpenSchema 方法所返回的 Recordset 中有 4 字節無符號整型 (DBTYPE UI4) 的列無法與其他變量比較。有關 OLE DB 數據類型的詳細信息,請參閱「Microsoft OLE DB 程序員參考」的第十章和附錄 A。

webasp.net