dbListColumns
Version 24.3.9111
dbListColumns
列出数据库服务器上的表或视图中的列。 根据配置和目标数据库类型,其中一些参数和输出属性可能不相关。
必需的参数
可选的参数
- 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 调整此示例涉及更改driver
和conn
输入,如下所示:
<arc:set attr="db.driver" value="System.Data.CData.MySql" />
<arc:set attr="db.conn" value="Server=localhost;Database=sakila;UID=root;Password=Password123;"/>