Oracle 連線

Oracle 連線類型提供與 Oracle 資料庫的連線。

設定連線

主機 (選填)

要連線的主機。

綱要 (選填)

指定要在資料庫中使用的綱要名稱。

登入 (選填)

指定要連線的使用者名稱。

密碼 (選填)

指定要連線的密碼。

額外 (選填)

指定可在 Oracle 連線中使用的額外參數(以 json 字典形式)。支援以下參數

  • events - 是否以事件模式初始化 Oracle。

  • mode - 以下其中之一 sysdbasysasmsysopersysbkpsysdgdsyskmtsysrac,這些在模組層級定義,預設模式為連線。

  • purity - 以下其中之一 newselfdefault。指定從連線池取得的工作階段。組態參數。

  • dsn。指定資料來源名稱 (並忽略主機)。

  • sidservice_name。用於形成 DSN 而非綱要。

  • module (str) - 此唯寫屬性設定 v$session 表格中的模組欄位。此字串的最大長度為 48,如果超過此長度,您會收到 ORA-24960。

  • thick_mode (bool) - 指定是否在厚模式中使用 python-oracledb。預設為 False。如果設定為 True,您必須安裝 Oracle Client 程式庫。請參閱 oracledb 文件 以取得更多資訊。

  • thick_mode_lib_dir (str) - 在厚模式中使用時,用於尋找 Oracle Client 程式庫的路徑。如果未指定,則預設為在作業系統上尋找 Oracle Client 程式庫的標準方式。請參閱 oracledb 文件 以取得更多資訊。

  • thick_mode_config_dir (str) - 在厚模式中使用時,用於尋找 Oracle Client 程式庫組態檔案的路徑。如果未指定,則預設為在作業系統上尋找 Oracle Client 程式庫組態檔案的標準方式。請參閱 oracledb 文件 以取得更多資訊。

  • fetch_decimals (bool) - 指定是否應將數字擷取為 decimal.Decimal 值。請參閱 defaults.fetch_decimals 以取得更多資訊。

  • fetch_lobs (bool) - 指定是否擷取 CLOB 或 BLOB 的字串/位元組,而不是定位器。請參閱 defaults.fetch_lobs 以取得更多資訊。

使用 dsn、主機和 sid、主機和 service_name 或僅主機連線 (OracleHook.getconn 文件)

例如

Host = "(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dbhost.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=orclpdb1)))"

Host = "dbhost.example.com"
Schema = "orclpdb1"

Host = "dbhost.example.com"
Schema = "orcl"

關於所有支援的 Oracle 連線參數的更多詳細資訊,請參閱 oracledb 文件

關於透過網頁使用者介面建立 Oracle 連線的資訊,請參閱 Airflow 的 管理連線文件

範例 “extras” 欄位

{
   "events": false,
   "mode": "sysdba",
   "purity": "new"
}

當以 URI 形式指定連線時(在 AIRFLOW_CONN_{CONN_ID} 變數中),您應該按照資料庫連線的標準語法指定它,其中額外參數作為 URI 的參數傳遞(請注意,URI 的所有組件都應進行 URL 編碼)。

例如

export AIRFLOW_CONN_ORACLE_DEFAULT='oracle://oracle_user:XXXXXXXXXXXX@1.1.1.1:1521?encoding=UTF-8&nencoding=UTF-8&threaded=False&events=False&mode=sysdba&purity=new'

此條目是否有幫助?