Adobe ColdFusion 8

cfdbinfo

描述

让你收到有关data source的信息, 包括数据库的相关明细信息,例如表信息,记录集信息 ,存储过程,外键,索引,和相关数据库的版本信息,驱动 和 JDBC.

类别

数据库 操作 标签

语法

<cfdbinfo
    datasource="data source name"
    name="result name"
    type="dbnames|tables|columns|version|procedures|foreignkeys|index"
    dbname="database name"
    password="password"
    pattern="filter pattern"
    table="table name"
    username="username">

注: 你可以在attributeCollection 中指定这个标签的属性,作为一个结构的value,在attributeCollection 中指定结构的名称,并使用这个标签的属性名称作为这个结构的Keys.

历史

ColdFusion 8: 添加该标签.

属性

属性

必须/可选

默认

描述

datasource

必须

 

连接数据库的数据源.

name

必须

 

用来表示结果的名称.

type

必须

 

获取信息的类型:

  • dbnames: 数据库名称和类型
  • tables: 名称,类别,标记
  • columns: 字段名称, SQL 数据类型,大小,浮点型数字,默认值,整型或字符型字段的最大长度,是否允许为空, ordinal position,标记, 是否为主键,是否为外键,所有的外键所指的数据表,所有外键所指的键值
  • version: 数据库版本名称和版本号,驱动名称和版本, JDBC 镜像驱动版本
  • procedures: 名称, 类型, 标记
  • foreignkeys: 外键关联的名称和数据表,主键名称,删除和更新的规则
  • index: 被设为索引的字段名称, 序号, 基数, 但该行代表一个数据表的统计或是一个索引,数据表被使用的页数 或 索引, 该索引值是否唯一

dbname

可选

 

数据库名称. 只有在 action = "This overrides the one mentioned as a part of datasource definition." 被使用.

password

可选

 

链接数据库的密码.

pattern

可选

 

只有在 type = "tables", type = "columns",或 type = "procedures"时使用.用来指定一个过滤规则去取出指定表的相关信息,字段信息,或存储过程. 使用下划线作为通配符作为一个参数或使用百分号作为通配符代表0个或多个字符.

table

type = "columns" 或 type = "foreignkeys" 或 type = "index"时被要求

 

从你输出的信息中的数据表名称 .

username

可选

no

连接数据库的用户名.

用途

使用 cfdbinfo 标签去返回一个query对象所包含的某个数据库的相关信息. The query object varies, depending on the value that you specify in the type attribute. 下面表格列出query对象在每种类型中的内容:

Type

字段名

描述

dbnames

DATABASE_NAME

数据库名.

TYPE

数据库类型, 是否有图或目录.

tables

TABLE_NAME

数据表名称.

TABLE_TYPE

数据表类型, 包括视图,数据表,同义表和系统表 .

REMARKS

数据表的标识.

columns

COLUMN_NAME

字段名.

TYPE_NAME

字段的SQL 数据类型.

IS_NULLABLE

是否允许字段为空.

IS_PRIMARYKEY

是否允许字段为主键.

IS_FOREIGNKEY

该字段是否为外键.

REFERENCED_PRIMARYKEY

如果这个字段是外键,这个就是所对应的数据表的名称.

REFERENCED_PRIMARYKEY_TABLE

如果这个字段是外键,这个就是所提到的键值.

COLUMN_SIZE

字段大小.

DECIMAL_DIGITS

小数位数.

COLUMN_DEFAULT_VALUE

字段默认值.

CHAR_OCTET_LENGTH

字符型和整型字段的最大长度.

ORDINAL_POSITION

Ordinal position of the column.

REMARKS

字段标识.

version

DATABASE_VERSION

数据库管理系统版本.

DATABASE_PRODUCTNAME

数据库管理系统名称.

DRIVER_VERSION

数据库驱动版本.

DRIVER_NAME

数据库驱动名称.

JDBC_MAJOR_VERSION

该驱动的主要驱动数.

JDBC_MINOR_VERSION

镜像版本驱动数.

procedures

PROCEDURE_NAME

存储过程名称.

REMARKS

存储过程标识.

PROCEDURE_TYPE

存储过程类型, 这表明程序是否该返回一个结果

foreignkeys

FKCOLUMN_NAME

外键名称.

FKTABLE_NAME

外键表名称.

PKCOLUMN_NAME

主键名称.

DELETE_RULE

级联删除相关字段

UPDATE_RULE

级联更新相关字段

index

INDEX_NAME

索引名称,如果数据表类型是统计时为空.

COLUMN_NAME

被应用为索引的字段名, 如果数据表类型是统计时为空.

ORDINAL_POSITION

列在约束中的位置.

CARDINALITY

如果类型是索引的话,指需要扫描的唯一值数, 或当记录集统计时,需要扫描的行数

TYPE

该行是否是一个数据集或是一个索引. 索引类型是服务器集群,散列或其他.

PAGES

索引页面被使用在数据表统计或索引中.

NON_UNIQUE

该索引值是否唯一.

范例

<cfset datasrc = "oratest">

<cfdbinfo 
    type="dbnames"
    datasource="#datasrc#"
    name="dbdata">

<cfoutput>
The #datasrc# data source has the following databases:<br />
</cfoutput>
<table border="1">
<tr>
    <th valign="top" align="left">Database name</th><th>Type</th>
</tr>
    <cfoutput query="dbdata">
    <tr>
        <td>#dbdata.DATABASE_NAME#</td><td>#dbdata.TYPE#</td>
    </tr>
    </cfoutput>
</table>