Giter Club home page Giter Club logo

Comments (2)

dosubot avatar dosubot commented on June 28, 2024 2

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.

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:
      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 [1].
  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 [2].
  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 [3].
  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 [4][5].

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.

To continue talking to Dosu, mention @dosu.

from superset.

sfirke avatar sfirke commented on June 28, 2024

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.

from superset.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.