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 查询后执行提交。

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

默认值为 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

返回值

通用返回值在此处记录 here,以下是此模块独有的字段

描述

description

列表 / 元素=字典

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

返回: 成功

results

列表 / 元素=列表

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

返回: 成功

row_count

字符串

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

返回: 成功

作者

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