ODBC 連線¶
odbc
連線類型提供與 ODBC 資料來源 (包含 MS SQL Server) 的連線。
使用 pip install apache-airflow[odbc]
啟用。
設定連線¶
若要使用 hook OdbcHook
,您必須在 Connection.extra
中或在 hook 初始化時指定您想要使用的驅動程式。
- 主機 (必填)
要連線的主機。
- 結構描述 (選填)
指定要在資料庫中使用的結構描述名稱。
- 登入 (必填)
指定要連線的使用者名稱。
- 密碼 (必填)
指定要連線的密碼。
- 額外 (選填)
此處提供的任何鍵/值參數都將新增至 ODBC 連線字串。
此外,還有一些特殊的選填關鍵字會被個別處理。
connect_kwargs
connect_kwargs
下的鍵值對將作為 kwargs 傳遞給pyodbc.connect
sqlalchemy_scheme
僅當在
get_sqlalchemy_engine()
中調用get_uri
時才會使用。預設情況下,hook 使用結構描述mssql+pyodbc
。您可以傳遞字串值以覆寫。
driver
要在您的系統上使用的驅動程式名稱。請注意,只有在 airflow 設定區段
providers.odbc
中將allow_driver_in_extra
設定為 True 時,才會考慮此設定 (預設情況下不考慮)。注意:如果從環境變數設定此設定,請使用AIRFLOW__PROVIDERS_ODBC__ALLOW_DRIVER_IN_EXTRA=true
。
注意
如果將
allow_driver_extra
設定為 True,則允許使用者透過 Airflow 連線的extra
欄位設定驅動程式。預設情況下不允許這樣做。如果啟用此功能,您應確保您信任可以在 UI 中編輯連線的使用者,不會惡意使用它。例如,考慮以下
extra
的值{ "Driver": "ODBC Driver 18 for SQL Server", "ApplicationIntent": "ReadOnly", "TrustedConnection": "Yes" }
這將產生包含這些參數的連線字串
DRIVER={ODBC Driver 18 for SQL Server};ApplicationIntent=ReadOnly;TrustedConnection=Yes;
有關更多資訊,請參閱 DSN 和連線字串關鍵字與屬性。
用於環境變數等的範例連線 URI
export AIRFLOW_CONN_MSSQL_DEFAULT='mssql-odbc://my_user:XXXXXXXXXXXX@1.1.1.1:1433/my_database?Driver=ODBC+Driver+18+for+SQL+Server&ApplicationIntent=ReadOnly&TrustedConnection=Yes'
如果您想將關鍵字引數傳遞給
pyodbc.connect
,您可以提供connect_kwargs
下的字典。例如,使用如下的
extra
,將使用autocommit=False
和ansi=True
呼叫pyodbc.connect
。{ "Driver": "ODBC Driver 18 for SQL Server", "ApplicationIntent": "ReadOnly", "TrustedConnection": "Yes", "connect_kwargs": { "autocommit": false, "ansi": true } }
有關您可以傳遞給
connect
的 kwargs 的更多詳細資訊,請參閱 pyodbc 文件