Oracle 連線¶
Oracle 連線類型提供與 Oracle 資料庫的連線。
設定連線¶
- 主機 (選填)
要連線的主機。
- 綱要 (選填)
指定要在資料庫中使用的綱要名稱。
- 登入 (選填)
指定要連線的使用者名稱。
- 密碼 (選填)
指定要連線的密碼。
- 額外 (選填)
指定可在 Oracle 連線中使用的額外參數(以 json 字典形式)。支援以下參數
events
- 是否以事件模式初始化 Oracle。mode
- 以下其中之一sysdba
、sysasm
、sysoper
、sysbkp
、sysdgd
、syskmt
或sysrac
,這些在模組層級定義,預設模式為連線。purity
- 以下其中之一new
、self
、default
。指定從連線池取得的工作階段。組態參數。dsn
。指定資料來源名稱 (並忽略主機)。sid
或service_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'