Oracleスクリプトを実行するためのプレイブックを実行しようとしています。私はそれを実行vars.When内のすべての変数を宣言したOracleスクリプトを実行するための可能なプレイブッブ
---
- hosts: localhost
- tasks:
- set_fact:
execute_command: "sqlplus {{ Oracle_Username }}/{{ Oracle_Password }} @{{ sqlfile.sql }}"
- name: Get Object_details
shell: "echo exit | {{ execute_command }} >> ./Oracle_Output.csv"
environment:
ORACLE_HOME: "{{ Oracle_DBServer }}"
ORACLE_SID: "{{ Oracle_SID }}"
は、エラー「set_factが遊びのための有効な属性ではありません」取得しています。 Anabilitiesを使用してSQLスクリプトを実行する最善の方法はどれですか?すべての接続の詳細を変数で宣言する必要があります。
---
- hosts: localhost
- tasks:
- set_fact:
execute_command: "sqlplus {{ Oracle_Username }}/{{ Oracle_Password }} @{{ sqlfile.sql }}"
- name: Get Object_details
shell: "echo exit | {{ execute_command }} >> ./Oracle_Output.csv"
environment:
ORACLE_HOME: "{{ Oracle_DBServer }}"
ORACLE_SID: "{{ Oracle_SID }}"
P.S.:あなたはtasks
セクションを宣言するのを忘れ
私は使用可能な役割があり、このymlスクリプトはタスク内にあります。したがって、作業のセクションに言及する必要はありません。 –
エラーメッセージは、このymlスクリプトを演劇として実行することを示唆しています。これが役割タスクの中のmain.ymlであれば、 'hosts'はそこでは許可されません。 –