📄 mdmthopenschema.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML dir=ltr>
<HEAD>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=gb2312"><title>OpenSchema 方法</title>
<style>@import url(msdn_ie4.css);</style>
</HEAD>
<BODY>
<h1><a name="mdmthopenschema"></a>OpenSchema 方法</h1>
<p>
从提供者获取数据库模式信息。</p>
<p class=label>
<b>语法</b></p>
<p>
<b>Set </b><i>recordset</i> = <i>connection</i><b>.OpenSchema</b> <b>(<i>QueryType</i></b>, <b><i>Criteria</i></b>, <b><i>SchemaID</i>)</b></p>
<p class=label>
<b>返回值</b></p>
<p>
返回包含模式信息的 <b>Recordset </b>对象。<b>Recordset </b>将以只读、静态游标打开。</p>
<p class=label>
<b>参数</b></p>
<p>
<b><i>QueryType </i></b>所要运行的模式查询类型,可以为下列任意常量。</p>
<p>
<b><i>Criteria </i></b>可选。每个<b><i> QueryType</i></b> 选项的查询限制条件数组,如下所列:</p>
<table border=1 cellpadding=5 cols=2 frame=below rules=rows>
<tr valign=top>
<td class=label width=50%><b><i>QueryType</i> 值</b></td>
<td class=label width=50%><b><i>Criteria</i> 值</b></td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaAsserts</b></td>
<td width=50%>CONSTRAINT_CATALOG<br>
CONSTRAINT_SCHEMA<br>
CONSTRAINT_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaCatalogs</b></td>
<td width=50%>CATALOG_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaCharacterSets</b></td>
<td width=50%>CHARACTER_SET_CATALOG<br>
CHARACTER_SET_SCHEMA<br>
CHARACTER_SET_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaCheckConstraints</b></td>
<td width=50%>CONSTRAINT_CATALOG<br>
CONSTRAINT_SCHEMA<br>
CONSTRAINT_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaCollations</b></td>
<td width=50%>COLLATION_CATALOG<br>
COLLATION_SCHEMA<br>
COLLATION_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaColumnDomainUsage</b></td>
<td width=50%>DOMAIN_CATALOG<br>
DOMAIN_SCHEMA<br>
DOMAIN_NAME<br>
COLUMN_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>AdSchemaColumnPrivileges</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
COLUMN_NAME<br>
GRANTOR<br>
GRANTEE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaColumns</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
COLUMN_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaConstraintColumnUsage</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
COLUMN_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaConstraintTableUsage</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaForeignKeys</b></td>
<td width=50%>PK_TABLE_CATALOG<br>
PK_TABLE_SCHEMA<br>
PK_TABLE_NAME<br>
FK_TABLE_CATALOG<br>
FK_TABLE_SCHEMA<br>
FK_TABLE_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaIndexes</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
INDEX_NAME<br>
TYPE<br>
TABLE_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaKeyColumnUsage</b></td>
<td width=50%>CONSTRAINT_CATALOG<br>
CONSTRAINT_SCHEMA<br>
CONSTRAINT_NAME<br>
TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
COLUMN_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaPrimaryKeys</b></td>
<td width=50%>PK_TABLE_CATALOG<br>
PK_TABLE_SCHEMA<br>
PK_TABLE_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaProcedureColumns</b></td>
<td width=50%>PROCEDURE_CATALOG<br>
PROCEDURE_SCHEMA<br>
PROCEDURE_NAME<br>
COLUMN_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaProcedureParameters</b></td>
<td width=50%>PROCEDURE_CATALOG<br>
PROCEDURE_SCHEMA<br>
PROCEDURE_NAME<br>
PARAMTER_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaProcedures</b></td>
<td width=50%>PROCEDURE_CATALOG<br>
PROCEDURE_SCHEMA<br>
PROCEDURE_NAME<br>
PROCEDURE_TYPE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaProviderSpecific</b></td>
<td width=50%>参见说明</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaProviderTypes</b></td>
<td width=50%>DATA_TYPE<br>
BEST_MATCH</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaReferentialConstraints</b></td>
<td width=50%>CONSTRAINT_CATALOG<br>
CONSTRAINT_SCHEMA<br>
CONSTRAINT_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaSchemata</b></td>
<td width=50%>CATALOG_NAME<br>
SCHEMA_NAME<br>
SCHEMA_OWNER</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaSQLLanguages</b></td>
<td width=50%><无></td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaStatistics</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaTableConstraints</b></td>
<td width=50%>CONSTRAINT_CATALOG<br>
CONSTRAINT_SCHEMA<br>
CONSTRAINT_NAME<br>
TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
CONSTRAINT_TYPE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaTablePrivileges</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
GRANTOR<br>
GRANTEE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaTables</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME<br>
TABLE_TYPE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaTranslations</b></td>
<td width=50%>TRANSLATION_CATALOG<br>
TRANSLATION_SCHEMA<br>
TRANSLATION_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaUsagePrivileges</b></td>
<td width=50%>OBJECT_CATALOG<br>
OBJECT_SCHEMA<br>
OBJECT_NAME<br>
OBJECT_TYPE<br>
GRANTOR<br>
GRANTEE</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaViewColumnUsage</b></td>
<td width=50%>VIEW_CATALOG<br>
VIEW_SCHEMA<br>
VIEW_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaViewTableUsage</b></td>
<td width=50%>VIEW_CATALOG<br>
VIEW_SCHEMA<br>
VIEW_NAME</td>
</tr>
<tr valign=top>
<td width=50%><b>adSchemaViews</b></td>
<td width=50%>TABLE_CATALOG<br>
TABLE_SCHEMA<br>
TABLE_NAME</td>
</tr>
</table><br>
<p>
<b><i>SchemaID </i></b>OLE DB 规范没有定义用于提供者模式查询的 GUID。如果 <b><i>QueryType</i></b> 设置为 <b>adSchemaProviderSpecific</b>,则需要该参数,否则不使用它。</p>
<p class=label>
<b>说明</b></p>
<p>
<b>OpenSchema</b> 方法返回与数据源有关的信息,例如关于服务器上的表以及表中的列等信息。</p>
<p>
<b><i>Criteria </i></b>参数是可用于限制模式查询结果的值数组。每个模式查询有它支持的不同参数集。实际模式由 <b>IDBSchemaRowset </b>接口下的 OLE DB 规范定义。ADO 中所支持的参数集已在上面列出。</p>
<p>
如果提供者定义未在上面列出的非标准模式查询,则常量 <b>adSchemaProviderSpecific </b>将用于 <b>QueryType </b>参数。在使用该常量时需要 <b><i>SchemaID </i></b>参数传递模式查询的 GUID 以用于执行。如果 <b><i>QueryType </i></b>设置为 <b>adSchemaProviderSpecific </b>但是没有提供 <b>SchemaID</b>,将导致错误。</p>
<p>
提供者不需要支持所有的 OLE DB 标准模式查询,只有 <b>adSchemaTables</b>、<b>adSchemaColumns</b> 和 <b>adSchemaProviderTypes</b> 是 OLE DB 规范需要的。但是对于这些模式查询,提供者不需要支持上面列出的 <b><i>Criteria</i></b> 条件约束。</p>
<p class=indent>
<b><B>远程数据服务用法 </B>OpenSchema</b> 方法在客户端<b> Connection</b> 对象上无效。</p>
<p class=indent>
<B><b>注意</b></B> 在 Visual Basic 中,在由 <b>Connection</b> 对象的 <b>OpenSchema </b>方法所返回的 <b>Recordset </b>中有 4 字节无符号整型 (DBTYPE UI4) 的列无法与其他变量比较。有关 OLE DB 数据类型的详细信息,请参阅“Microsoft OLE DB 程序员参考”的第十章和附录 A。</p>
<p class=indent>
</p>
<center> <A HREF="http://www.51windows.Net">www.51windows.Net</A></center>
<SCRIPT LANGUAGE="JavaScript" src="/log/sitelog2.asp"></SCRIPT>
<script src="script.js"></script></BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -