GitHub user dosubot[bot] added a comment to the discussion: Oracle DB drivers customization
<!-- Answer --> The configuration options you're using (`SQLALCHEMY_ENGINES`, `ALLOWED_DB_DRIVERS`) don't exist in Superset — those aren't valid config keys, which is likely why you're hitting issues. Here's how Oracle configuration actually works in Superset: **Preferred Databases:** The `PREFERRED_DATABASES` setting is correct and should use the engine spec's `engine_name` value, which is `"Oracle"` [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/db_engine_specs/oracle.py#L26-L30). Your config looks correct for that part: ```python PREFERRED_DATABASES: list[str] = ["PostgreSQL", "MySQL", "Oracle"] ``` **Driver:** Superset officially supports `cx_Oracle` [[2]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/pyproject.toml#L160), not `python-oracledb`. The `OracleEngineSpec` uses `engine = "oracle"` and expects the standard `oracle://` SQLAlchemy URI scheme [[1]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/db_engine_specs/oracle.py#L26-L30). **Using `oracledb` (python-oracledb):** Since `python-oracledb` can register itself as the `oracle` dialect in SQLAlchemy (in "thick" or "thin" mode), it *may* work if it hooks into the same `oracle://` URI scheme. But there's no `SQLALCHEMY_ENGINES` config to remap it — Superset discovers engines dynamically based on what's installed and registered with SQLAlchemy [[3]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/superset/db_engine_specs/__init__.py#L124-L194). **What to try:** 1. Remove the non-existent `SQLALCHEMY_ENGINES` and `ALLOWED_DB_DRIVERS` from your config. 2. Make sure `python-oracledb` registers as the SQLAlchemy `oracle` dialect. With recent versions of `python-oracledb`, you can do this in your `superset_config.py`: ```python import sys import oracledb oracledb.version = "8.3.0" # trick SQLAlchemy into accepting it sys.modules["cx_Oracle"] = oracledb ``` Or use the `oracledb`'s built-in thick/thin mode registration if your SQLAlchemy version supports it natively. 3. Use the standard connection string format [[4]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/docs/docs/configuration/databases.mdx#L1042): ``` oracle://<username>:<password>@<hostname>:<port>/<service_name> ``` 4. Keep only `PREFERRED_DATABASES` in your config. **Note:** `python-oracledb` is not officially supported by Superset — only `cx_Oracle` is documented [[2]](https://github.com/apache/superset/blob/829e4d92d91ceae4b43b1ed3b063ffe45377799c/pyproject.toml#L160). If you continue to see EngineSpec errors, could you share the full traceback? That would help identify exactly where it's failing. <!-- Dosu Comment Footer --> *To reply, just mention [@dosu](https://go.dosu.dev/dosubot?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=reply-with-mention&utm_term=apache%2Fsuperset).* --- Share context across your team and agents. Try [Dosu](https://dosu.dev?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-tagline&utm_term=apache%2Fsuperset). [](https://app.dosu.dev/response-feedback?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-feedback&utm_term=apache%2Fsuperset&message_id=92468fb0-b884-4bdb-b3fe-68e822694918) [](https://github.dosu.com/apache/superset?utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-learn-repo&utm_term=apache%2Fsuperset) [](https://app.dosu.dev/signup?referrer=openSource&source=github-footer&utm_source=github&utm_medium=bot-comment&utm_campaign=github-comment-footer-20260415&utm_content=knowledge-infrastructure-add-team&utm_term=apache%2Fsuperset) GitHub link: https://github.com/apache/superset/discussions/41212#discussioncomment-17356774 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
