| :py:mod:`airflow.providers.odbc.hooks.odbc` |
| =========================================== |
| |
| .. py:module:: airflow.providers.odbc.hooks.odbc |
| |
| .. autoapi-nested-parse:: |
| |
| This module contains ODBC hook. |
| |
| |
| |
| Module Contents |
| --------------- |
| |
| Classes |
| ~~~~~~~ |
| |
| .. autoapisummary:: |
| |
| airflow.providers.odbc.hooks.odbc.OdbcHook |
| |
| |
| |
| |
| .. py:class:: OdbcHook(*args, database = None, driver = None, dsn = None, connect_kwargs = None, sqlalchemy_scheme = None, **kwargs) |
| |
| Bases: :py:obj:`airflow.hooks.dbapi.DbApiHook` |
| |
| Interact with odbc data sources using pyodbc. |
| |
| See :doc:`/connections/odbc` for full documentation. |
| |
| .. py:attribute:: DEFAULT_SQLALCHEMY_SCHEME |
| :annotation: = mssql+pyodbc |
| |
| |
| |
| .. py:attribute:: conn_name_attr |
| :annotation: = odbc_conn_id |
| |
| |
| |
| .. py:attribute:: default_conn_name |
| :annotation: = odbc_default |
| |
| |
| |
| .. py:attribute:: conn_type |
| :annotation: = odbc |
| |
| |
| |
| .. py:attribute:: hook_name |
| :annotation: = ODBC |
| |
| |
| |
| .. py:attribute:: supports_autocommit |
| :annotation: = True |
| |
| |
| |
| .. py:method:: connection(self) |
| :property: |
| |
| ``airflow.Connection`` object with connection id ``odbc_conn_id`` |
| |
| |
| .. py:method:: database(self) |
| :property: |
| |
| Database provided in init if exists; otherwise, ``schema`` from ``Connection`` object. |
| |
| |
| .. py:method:: sqlalchemy_scheme(self) |
| :property: |
| |
| Database provided in init if exists; otherwise, ``schema`` from ``Connection`` object. |
| |
| |
| .. py:method:: connection_extra_lower(self) |
| :property: |
| |
| ``connection.extra_dejson`` but where keys are converted to lower case. |
| |
| This is used internally for case-insensitive access of odbc params. |
| |
| |
| .. py:method:: driver(self) |
| :property: |
| |
| Driver from init param if given; else try to find one in connection extra. |
| |
| |
| .. py:method:: dsn(self) |
| :property: |
| |
| DSN from init param if given; else try to find one in connection extra. |
| |
| |
| .. py:method:: odbc_connection_string(self) |
| :property: |
| |
| ODBC connection string |
| We build connection string instead of using ``pyodbc.connect`` params because, for example, there is |
| no param representing ``ApplicationIntent=ReadOnly``. Any key-value pairs provided in |
| ``Connection.extra`` will be added to the connection string. |
| |
| |
| .. py:method:: connect_kwargs(self) |
| :property: |
| |
| Returns effective kwargs to be passed to ``pyodbc.connect`` after merging between conn extra, |
| ``connect_kwargs`` and hook init. |
| |
| Hook ``connect_kwargs`` precedes ``connect_kwargs`` from conn extra. |
| |
| If ``attrs_before`` provided, keys and values are converted to int, as required by pyodbc. |
| |
| |
| .. py:method:: get_conn(self) |
| |
| Returns a pyodbc connection object. |
| |
| |
| .. py:method:: get_uri(self) |
| |
| URI invoked in :py:meth:`~airflow.hooks.dbapi.DbApiHook.get_sqlalchemy_engine` method |
| |
| |
| .. py:method:: get_sqlalchemy_connection(self, connect_kwargs = None, engine_kwargs = None) |
| |
| Sqlalchemy connection object |
| |
| |
| |