dbQuery

Version 24.3.9111


dbQuery


对数据库执行查询。

必需的参数

  • driver: 跨平台版本 中的 JDBC 驱动程序类名称 或 .NET 版本
  • conn:连接字符串或数据库 URL。
  • query: SQL 查询字符串。

可选的参数

  • commandtimeout: 命令超时,以秒为单位完成操作。零(0)表示没有超时。默认值为 60
  • fromrow: 从开始要跳过的行数。默认值为 0
  • maxrows: 从数据库返回的最大行数。设置为-1可获取所有结果。默认值为 -1
  • paramname#: 参数名称。
  • paramvalue#: 参数值。
  • paramtype#: 参数类型。
  • transactionid: 此事务的 ID。
  • querypassthrough:将查询按原样传递给操作,而不是执行客户端验证和语法纠正。

输出属性

  • db:\: 输出因查询而异。

示例

此示例使用跨平台版本的知行之桥在 MySQL 数据库中执行存储过程。 它从电影表中选择评级为 PG-13 的所有电影,并为每部电影输出一个文件。 文件名是电影标题,文件内容是电影描述。 paramname/paramvalue 属性用于演示如何在脚本中工作。

<arc:set attr="db.driver" value="cdata.jdbc.mysql.MySQLDriver" />
<arc:set attr="db.conn" value="jdbc:cdata:mysql:server=localhost;port=3306;database=sakila;user=root;password=Password123;"/>
<arc:set attr="db.query" value="SELECT * FROM `film` WHERE rating = @max_rating"/>
<arc:set attr="db.paramname#1" value="max_rating" />
<arc:set attr="db.paramvalue#1" value="PG-13" />

<arc:call op="dbQuery" in="db" out="results" >
  <!-- 可选的日志记录步骤,用于在应用程序日志中查看查询的输出 -->
  <arc:set attr="_log.info" value="[results.*]" />
  <!-- 将每个输出文件的数据设置为影片的描述 -->
  <arc:set attr="output.data" value="[results.db:description]" />
  <!-- 将输出文件名设置为每部电影的标题 -->
  <arc:set attr="output.filename" value="[results.db:title].txt" />
  <arc:push item="output" />
</arc:call>

只要在安装并运行知行之桥的计算机上安装驱动程序,就可以修改上面的示例以定位其他数据库。 针对 .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;"/>