AdomdDataReader.GetSchemaTable 方法
返回一个 DataTable,它描述 AdomdDataReader 的列元数据。
命名空间: Microsoft.AnalysisServices.AdomdServer
程序集: msmgdsrv(在 msmgdsrv.dll 中)
语法
声明
Public Function GetSchemaTable As DataTable
用法
Dim instance As AdomdDataReader
Dim returnValue As DataTable
returnValue = instance.GetSchemaTable()
public DataTable GetSchemaTable()
public:
virtual DataTable^ GetSchemaTable() sealed
abstract GetSchemaTable : unit -> DataTable
override GetSchemaTable : unit -> DataTable
public final function GetSchemaTable() : DataTable
返回值
类型:DataTable
一个 DataTable,它包含 AdomdDataReader 的当前结果的架构信息。
实现
IDataReaderGetSchemaTable
注释
下表按顺序介绍 DataTable 中返回的列以提供有关当前结果的架构信息。
名称 |
数据类型 |
说明 |
---|---|---|
ColumnName |
String |
列的标题;这可能不是唯一的。 如果无法确定它,将返回 null 值。 此名称始终反映当前视图或命令文本中列的最新重命名情况。 |
ColumnOrdinal |
Int32 |
列的序号。 它对于行的书签列(如果有)为零。 其他列用从 1 开始的数字编号。 此列不能包含 null 值。 |
ColumnSize |
Int32 |
此列始终返回 0。 |
NumericPrecision |
Int32 |
此列始终返回 0。 |
NumericScale |
Int32 |
此列始终返回 0。 |
DataType |
类型 |
返回列的 .NET Framework 类型。 |
ProviderType |
Object |
列的数据类型的指示符。 如果列的数据类型对于每行都不同,它必须是 Object。 此列不能包含 null 值。 |
IsLong |
Boolean |
设置该列是否包含具有很长数据的二进制长对象 (BLOB)。 很长数据的定义是提供程序特定的。 此标志的设置通常对应于该数据类型的 PROVIDER_TYPES 行集中 IS_LONG 列的值。 |
AllowDBNull |
Boolean |
设置使用者是否可以将该列设置为 null 值。如果提供者无法确定使用者是否可以将该列设置为 null 值, 则不设置。 即使无法将列设置为 null 值,列也可以包含 null 值。 |
IsReadOnly |
Boolean |
如果该列可以修改,则返回 true;否则返回 false。 此列始终返回 true。 |
IsRowVersion |
String |
设置该列是否包含无法写入的永久行标识符,该标识符的值除了标识行外没有意义。 |
IsUnique |
Boolean |
如果基表(BASETABLENAME 中返回的表)中没有两行可以在此列中具有相同的值,则返回 true。 如果该列自己组成了一个键或存在仅适用于此列的 UNIQUE 类型的约束,则确保 IsUnique 为 true。 如果此列可以在基表中包含重复值,则此列返回 false。 此列的默认值为 false。 |
IsKey |
Boolean |
如果该列是行集中一起唯一标识行的一组列之一,则返回 true。 将 IsKey 设置为 true 的一组列必须唯一标识行集中的某行。 对于此组列是最小的一组列没有要求。 此组列可能从一个基表主键、唯一约束或唯一索引生成。 如果不需要该列来唯一标识行,则返回 false。 此列始终返回 false。 |
IsAutoIncrement |
Boolean |
如果此列以固定增量将值赋给新行,则返回 true。 否则,此列返回 false。 此列始终返回 false。 |
BaseSchemaName |
String |
包含该列的数据存储区中架构的名称。 如果无法确定基本架构名称,则为 null 值。 此列始终返回 null 值。 |
BaseCatalogName |
String |
包含该列的数据存储区中目录的名称。 如果无法确定基本目录名称,则为 null 值。 此列始终返回 null 值。 |
BaseTableName |
String |
包含该列的数据存储区中表或视图的名称。 如果无法确定基表名称,则为 null 值。 此列始终返回 null 值。 |
BaseColumnName |
String |
结果中列的名称。 如果使用别名,此名称可能不同于 ColumnName 列中返回的列名。 如果无法确定基本列名或行集列是派生的但是与结果中的列不同,则返回 null 值。 此列始终返回 null 值。 |