community.general.odbc 模块 – 通过 ODBC 执行 SQL

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。您需要其他要求才能使用此模块,请参阅 要求 获取详细信息。

要在 playbook 中使用它,请指定:community.general.odbc

community.general 1.0.0 中的新增功能

概要

  • 通过 ODBC 驱动程序读取/写入信息。

要求

在执行此模块的主机上需要以下要求。

  • pyodbc

参数

参数

注释

commit

布尔值

community.general 1.3.0 中添加

在执行 SQL 查询后执行提交。

某些数据库允许在 select 后提交,而其他数据库则会引发异常。

默认为 true 以支持旧版模块行为。

选项

  • false

  • true ← (默认)

dsn

字符串 / 必需

传递到 ODBC 的连接字符串。

params

列表 / 元素=字符串

传递给 SQL 查询的参数。

query

字符串 / 必需

要执行的 SQL 查询。

属性

属性

支持

描述

check_mode

支持:不支持

可以在 check_mode 下运行并返回更改状态预测,而无需修改目标。

diff_mode

支持:不支持

在差异模式下,将返回有关已更改内容(或可能需要在 check_mode 中更改)的详细信息。

备注

注意

  • 与 command 模块类似,此模块始终返回 changed = yes,无论查询是否会更改数据库。

  • 要更改此行为,您可以使用 changed_when:[yes 或 no]。

  • 有关返回值(描述和 row_count)的详细信息,请参见 https://github.com/mkleehammer/pyodbc/wiki/Cursor

示例

- name: Set some values in the test db
  community.general.odbc:
    dsn: "DRIVER={ODBC Driver 13 for SQL Server};Server=db.ansible.com;Database=my_db;UID=admin;PWD=password;"
    query: "Select * from table_a where column1 = ?"
    params:
      - "value1"
    commit: false
  changed_when: false

返回值

此处记录了常见的返回值 此处,以下是此模块独有的字段

描述

description

列表 / 元素=字典

关于从游标中选择的列的字典列表,对于 DDL 语句可能为空。见备注。

返回:成功

results

列表 / 元素=列表

包含所选行的字符串列表的列表,对于 DDL 语句可能为空。

返回:成功

row_count

字符串

根据游标默认值为 -1 选择或修改的行数。见备注。

返回:成功

作者

  • John Westcott IV (@john-westcott-iv)