dbListColumns

Version 24.3.9111


dbListColumns


列出数据库服务器上的表或视图中的列。 根据配置和目标数据库类型,其中一些参数和输出属性可能不相关。

必需的参数

  • driver: 跨平台版本 中的 JDBC 驱动程序类名称 或 .NET 版本
  • conn:连接字符串或数据库 URL。
  • table: 从中列出列的表或视图。

可选的参数

  • schema:表所在的数据库 Schema 的名称。 该 Schema 通常称为一组表的 命名空间
  • catalog:数据库服务器中的 Catalog。 这通常称为 数据库。 如果不提供值,则返回数据库服务器中所有目录的列。

输出属性

  • db:columnname:指定表或视图中的列的名称。
  • db:datatype:指定表或视图中列的SQL数据类型。
  • db:columnsize:指定表或视图中列的大小。
  • db:iskey:布尔值(true 或 false),指示该列是否为主键列。
  • db:nullable:布尔值(true 或 false)指示列是否可以为 null。
  • db:readonly:布尔值(true 或 false)指示该列是否为只读。
  • db:autoincrement:布尔值(true 或 false)指示该列是否是自动增量列。

示例

在此示例中,目标数据库服务器是 MySQL,目标表是actor。 请注意,连接字符串中没有database参数:如果在连接字符串中指定了数据库,则不需要catalog参数。 该脚本将目标表的所有属性写入输出文件。

<!-- 初始化输出项 -->
<arc:set attr="output.data" />
<!-- 创建输入数据库项和必要的属性 -->
<arc:set attr="db.driver" value="cdata.jdbc.mysql.MySQLDriver" />
<arc:set attr="db.catalog" value="sakila" />
<arc:set attr="db.table" value="actor" />
<arc:set attr="db.conn" value="jdbc:cdata:mysql:server=localhost;port=3306;user=root;password=Password123;"/>

<arc:call op="dbListColumns" in="db" out="results" >
  <!-- 将操作的结果数据添加到将作为文件推出的输出项 -->
  <arc:set attr="output.data">[output.data]\nColumn Name=[results.db:columnname]\nData Type=[results.db:datatype]\nSize=[results.db:columnsize]\nKey=[results.db:iskey]\nNullable=[results.db:nullable]\nReadOnly=[results.db:readonly]\nAutoInc=[results.db:autoincrement]\n-----</arc:set>
</arc:call>

<!-- 设置文件名并推出文件 -->
<arc:set attr="output.filename" value="results.txt" />
<arc:push item="output" />

输出:

Column Name=actor_id
Data Type=SMALLINT UNSIGNED
Size=2
Key=True
Nullable=False
ReadOnly=False
AutoInc=True
-----
Column Name=first_name
Data Type=VARCHAR
Size=45
Key=False
Nullable=False
ReadOnly=False
AutoInc=False
-----
Column Name=last_name
Data Type=VARCHAR
Size=45
Key=False
Nullable=False
ReadOnly=False
AutoInc=False
-----
Column Name=last_update
Data Type=TIMESTAMP
Size=19
Key=False
Nullable=False
ReadOnly=False
AutoInc=False
-----

只要在安装并运行知行之桥的计算机上安装驱动程序,就可以修改上面的示例以定位其他数据库。 针对 .NET 调整此示例涉及更改driverconn输入,如下所示:

<arc:set attr="db.driver" value="System.Data.CData.MySql" /> 
<arc:set attr="db.conn" value="Server=localhost;Database=sakila;UID=root;Password=Password123;"/>