SQLExecuteQueryOperator 连接 Oracle

使用 SQLExecuteQueryOperatorOracle 数据库中执行 Oracle 命令。

注意

之前使用 OracleStoredProcedureOperator 执行此类操作。弃用后已被移除。请改用 SQLExecuteQueryOperator

使用运算符

使用 conn_id 参数连接到您的 Oracle 实例,连接元数据结构如下:

Oracle Airflow 连接元数据

参数

输入

主机: 字符串

Oracle 数据库主机名

Schema: 字符串

默认执行 SQL 操作的 Schema

登录名: 字符串

Oracle 数据库用户

密码: 字符串

Oracle 数据库用户密码

端口: int

Oracle 数据库端口 (默认: 1521)

Extra: JSON

附加连接配置,例如 DSN 字符串: {"dsn": "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=<service_name>)))"}

以下是使用 SQLExecuteQueryOperator 连接 Oracle 的示例

tests/system/oracle/example_oracle.py


    # Example of creating a task that calls a common CREATE TABLE sql command.
    create_table_oracle_task = SQLExecuteQueryOperator(
        task_id="create_table_oracle",
        sql=r"""
            BEGIN
                EXECUTE IMMEDIATE '
                CREATE TABLE employees (
                    id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
                    name VARCHAR2(50),
                    salary NUMBER(10, 2),
                    hire_date DATE DEFAULT SYSDATE
                )';
            END;
        """,
    )

参考

更多信息请参考

注意

通过 SQLExecuteQueryOperator() 提供的参数优先于通过 Airflow 连接元数据设置的参数(例如 schemaloginpassword 等)。

此条目有帮助吗?