OpenSchema 方法

OpenSchema 方法

从提供者获取数据库模式信息。

语法

Set recordset = connection.OpenSchema (QueryType, Criteria, SchemaID)

返回值

返回包含模式信息的 Recordset 对象。Recordset 将以只读、静态游标打开。

参数

QueryType   所要运行的模式查询类型,可以为下列任意常量。

Criteria   可选。每个 QueryType 选项的查询限制条件数组,如下所列:

QueryType描述Criteria
-1adSchemaProviderSpecific如果提供者定义自己的非标准模式查询,则将 使用该常量。Providerspecific
0AdSchemaAsserts返回目录中定义的断言CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
1AdSchemaCatalogs返回与目录中可通过DBMS访问的目录相关的物理属性CATALOG_NAME
2AdSchemaCharacterSets返回目录中定义的字符集CHARACTER_SET_CATALOG
CHARACTER_SET_SCHEMA
CHARACTER_SET_NAME
5AdSchemaCheckConstraints返回目录中定义的校验约束CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
3AdSchemaCollations返回目录中定义的字符序列COLLATION_CATALOG
COLLATION_SCHEMA
COLLATION_NAME
11AdSchemaColumnDomainUsage返回目录中定义的列,这些列依赖于该目录中定义的域DOMAIN_CATALOG
DOMAIN_SCHEMA
DOMAIN_NAME
COLUMN_NAME
13AdSchemaColumnPrivileges返回目录中定义的表的列具有的特权TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
GRANTOR
GRANTEE
4adSchemaColumns返回目录中定义的表(包括视图)的列TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
6adSchemaConstraintColumnUsage返回目录中定义的列,这些列由引用约束、唯一约束、校验约束和断言使用TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
7adSchemaConstraintTableUsage返回目录中定义的表,这些表由引用约束、唯一约束、校验约束和断言使用TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
27adSchemaForeignKeys返回给定用户在目录中定义的外键列PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
FK_TABLE_CATALOG
FK_TABLE_SCHEMA
FK_TABLE_NAME
12adSchemaIndexes返回目录中定义的索引TABLE_CATALOG
TABLE_SCHEMA
INDEX_NAME
TYPE
TABLE_NAME
8adSchemaKeyColumnUsage返回目录中定义的被约束成关键字的列CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
COLUMN_NAME
28adSchemaPrimaryKeys返回给定用户在目录中定义的主键列PK_TABLE_CATALOG
PK_TABLE_SCHEMA
PK_TABLE_NAME
29adSchemaProcedureColumns返回行集合中的列信息,该行集合由过程返回PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
COLUMN_NAME
26adSchemaProcedureParameters返回过程参数和返回代码的信息PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PARAMTER_NAME
16adSchemaProcedures返回目录中定义的过程PROCEDURE_CATALOG
PROCEDURE_SCHEMA
PROCEDURE_NAME
PROCEDURE_TYPE
-1adSchemaProviderSpecific参见-1参见说明
22adSchemaProviderTypes参见22DATA_TYPE
BEST_MATCH
9adSchemaReferentialConstraints返回目录中定义的引用约束CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
17adSchemaSchemata返回模式(数据库对象)CATALOG_NAME
SCHEMA_NAME
SCHEMA_OWNER
18adSchemaSQLLanguages返回目录中定义的SQL,实现数据(SQL implementation processing data)处理所支持的一致性级别、选项和方言<无>
19adSchemaStatistics返回目录中定义的统计TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
10adSchemaTableConstraints返回目录中定义的表约束CONSTRAINT_CATALOG
CONSTRAINT_SCHEMA
CONSTRAINT_NAME
TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
CONSTRAINT_TYPE
14adSchemaTablePrivileges返回目录中定义的表的列具有的特权TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
GRANTOR
GRANTEE
20adSchemaTables返回目录中定义的可存取的表(包括视图)TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
TABLE_TYPE
21adSchemaTranslations返回目录中定义的可访问的字符转换TRANSLATION_CATALOG
TRANSLATION_SCHEMA
TRANSLATION_NAME
15adSchemaUsagePrivileges返回目录中定义的对象的Usage特权OBJECT_CATALOG
OBJECT_SCHEMA
OBJECT_NAME
OBJECT_TYPE
GRANTOR
GRANTEE
24adSchemaViewColumnUsage返回目录中定义的相关列,在这些列上可查看表VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
25adSchemaViewTableUsage返回目录中定义的属于给定用户的相关表,在这些表上可查看表VIEW_CATALOG
VIEW_SCHEMA
VIEW_NAME
23adSchemaViews返回目录中定义的可访问的视图TABLE_CATALOG
TABLE_SCHEMA
TABLE_NAME
22adSchemaProviderTypes返回数据提供者支 持的(基本)数据类型DATA_TYPEBEST_MATCH
30adSchemaDBInfoKeywords返回提供者特有的关键字的列表None
31adSchemaDBInfoLiterals返回文本命令中使用的文字的列表,这些文字是提供者特有的None
32adSchemaCubes返回模式中可用立方的相关信息(如果提供者不支持模式则为目录)CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
33adSchemaDimensions返回给定立方中维的信息,每一维对应一行CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSIONS_NAME
DIMENSIONS_UNIQUE_NAME
34adSchemaHierarchies返回维中可用分级结构的信息CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_NAME
HIERARCHY_UNIQUE_NAME
35adSchemaLevels返回维中可用级别的信息CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_NAME
LEVEL_UNIQUE_NAME
36adSchemaMeasures返回可用度量的信息CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
MEASURE_NAME
MEASURE_UNIQUE_NAME
37adSchemaProperties为维的每一级别返回有关可用属性的信息CATALOG_NAME
SCHEMA_NAME
CUBE_NAME
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_UNIQUE_NAME
MEMBER_UNIQUE_NAME
PROPERTY_TYPE
PROPERTY_NAME
38adSchemaMembers返回可用成员的信息。CATALOG_NAME
SCHEMA_NAME
CUBE_NAM
DIMENSION_UNIQUE_NAME
HIERARCHY_UNIQUE_NAME
LEVEL_UNIQUE_NAME
LEVEL_NUMBER
MEMBER_NAME
MEMBER_UNIQUE_NAME
MEMBER_CAPTION
MEMBER_TYPE
TREEOPERATOR
39adSchemaTrustees供日后使用None

SchemaID   OLE DB 规范没有定义用于提供者模式查询的 GUID。如果 QueryType 设置为 adSchemaProviderSpecific,则需要该参数,否则不使用它。

说明

OpenSchema 方法返回与数据源有关的信息,例如关于服务器上的表以及表中的列等信息。

Criteria 参数是可用于限制模式查询结果的值数组。每个模式查询有它支持的不同参数集。实际模式由 IDBSchemaRowset 接口下的 OLE DB 规范定义。ADO 中所支持的参数集已在上面列出。

如果提供者定义未在上面列出的非标准模式查询,则常量 adSchemaProviderSpecific 将用于 QueryType 参数。在使用该常量时需要 SchemaID 参数传递模式查询的 GUID 以用于执行。如果 QueryType 设置为 adSchemaProviderSpecific 但是没有提供 SchemaID,将导致错误。

提供者不需要支持所有的 OLE DB 标准模式查询,只有 adSchemaTablesadSchemaColumnsadSchemaProviderTypes 是 OLE DB 规范需要的。但是对于这些模式查询,提供者不需要支持上面列出的 Criteria 条件约束。

远程数据服务用法   OpenSchema 方法在客户端 Connection 对象上无效。

注意   在 Visual Basic 中,在由 Connection 对象的 OpenSchema 方法所返回的 Recordset 中有 4 字节无符号整型 (DBTYPE UI4) 的列无法与其他变量比较。有关 OLE DB 数据类型的详细信息,请参阅“Microsoft OLE DB 程序员参考”的第十章和附录 A。


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值