You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@superset.apache.org by "selvadinesh (via GitHub)" <gi...@apache.org> on 2024/06/18 15:52:03 UTC

[I] Oracle as Metadata- Not working [superset]

selvadinesh opened a new issue, #29295:
URL: https://github.com/apache/superset/issues/29295

   ### Bug description
   
   superset db upgrade 
   superset init
   
   This throws a lot of errors from missing columns in metadata tables, and foreign key issues. reserved keyword like row issue. 
   
   I know we need to use MySQL and PostgreSQL. My firm wants to use Oracle. 
   
   Any update ? 
   
   ### How to reproduce the bug
   
   superset db upgrade 
   superset init
   
   ### Screenshots/recordings
   
   _No response_
   
   ### Superset version
   
   4.0.1
   
   ### Python version
   
   3.9
   
   ### Node version
   
   16
   
   ### Browser
   
   Chrome
   
   ### Additional context
   
   _No response_
   
   ### Checklist
   
   - [ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
   - [ ] I have searched the GitHub issue tracker and didn't find a similar bug report.
   - [ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [I] Oracle as Metadata- Not working [superset]

Posted by "sfirke (via GitHub)" <gi...@apache.org>.
sfirke commented on issue #29295:
URL: https://github.com/apache/superset/issues/29295#issuecomment-2176694952

   > I know we need to use MySQL or PostgreSQL. My firm wants to use Oracle.
   
   You have a good handle on this.  There is no plan to support Oracle as a metadata store DB, so I'm going to close this issue.  If you were to go that route and somehow get it working, there would be no community support available and it's always possible that subsequent changes would break something that previously worked.
   
   I can relate, my org uses MS SQL Server exclusively for application DBs.  We decided that to set up a managed PostgreSQL DB in order to use Superset.  For what it's worth, the amount of knowledge of PostgreSQL needed to maintain a Superset instance is very low.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [I] Oracle as Metadata- Not working [superset]

Posted by "sfirke (via GitHub)" <gi...@apache.org>.
sfirke closed issue #29295: Oracle as Metadata- Not working
URL: https://github.com/apache/superset/issues/29295


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org


Re: [I] Oracle as Metadata- Not working [superset]

Posted by "dosubot[bot] (via GitHub)" <gi...@apache.org>.
dosubot[bot] commented on issue #29295:
URL: https://github.com/apache/superset/issues/29295#issuecomment-2176455283

   <!-- Greeting -->
   Hello @selvadinesh! I'm here to help you with any issues you may be experiencing. I'm a bot that can assist you with bug resolution, answer questions, and guide you on becoming a contributor. Let's work together to solve this problem.
   
   <!-- Answer -->
   Using Oracle as the metadata database in Superset can indeed present several challenges. Here are some key points and potential solutions:
   
   1. **Reserved Keyword Conflicts**:
      - Oracle has reserved keywords that can cause issues. For example, the keyword "decimal" can be problematic. The solution is to quote the column name to avoid conflicts. For instance:
        ```python
        col = column("decimal")
        expr = OracleEngineSpec.get_timestamp_expr(col, None, "P1M")
        result = str(expr.compile(dialect=oracle.dialect()))
        assert result == "TRUNC(CAST(\"decimal\" as DATE), 'MONTH')"
        ```
        This approach can be applied to other reserved keywords as well <sup>[[1]](https://github.com/apache/superset/blob/master/tests/unit_tests/db_engine_specs/test_oracle.py)</sup>.
   
   2. **Known Limitations**:
      - Oracle does not support several features in Superset, such as secondary time columns, certain time grains, and CTE as a subquery, among others. These limitations are documented in the Superset repository <sup>[[2]](https://github.com/apache/superset/blob/master/superset/db_engine_specs/README.md)</sup>.
   
   3. **Common Errors and Resolutions**:
      - When running `superset db upgrade` and `superset init`, you might encounter various errors such as `DatabaseInvalidError`, `DatabaseExistsValidationError`, and `DatabaseConnectionFailedError`. Ensure that all required fields are provided, the connection settings are correct, and the Oracle database is accessible. Detailed error messages and their resolutions can be found in the Superset repository <sup>[[3]](https://github.com/apache/superset/blob/master/superset/commands/database/exceptions.py)</sup>.
   
   4. **Configuration Steps**:
      - Ensure you have the necessary Oracle database driver (`cx_Oracle`) installed.
      - Configure the `SQLALCHEMY_DATABASE_URI` in your `superset_config.py` file with the appropriate connection string for Oracle.
      - Set the `SUPERSET_CONFIG_PATH` environment variable to point to your `superset_config.py` file.
      - Run `superset db upgrade` and `superset init` to apply the changes <sup>[[4]](https://github.com/apache/superset/blob/master/docs/docs/configuration/configuring-superset.mdx)</sup><sup>[[5]](https://github.com/apache/superset/blob/master/docs/docs/configuration/databases.mdx)</sup>.
   
   Given these points, while Oracle is not officially supported and may require additional workarounds, following the above steps and being aware of the limitations can help mitigate some of the issues you are encountering.
   
   
   <!-- Dosu Comment Footer -->
   *To continue talking to [Dosu](https://dosu.dev), mention @dosu.*
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@superset.apache.org
For additional commands, e-mail: notifications-help@superset.apache.org