我正在尝试配置superset(airbnb bi plataform),但当我试图配置一个新数据库以连接到oracle时,我遇到了问题, 超集将sqlalchemy用于db连接,我为connect定义tnsname并将其传递给Superset,如documentationhttp://docs.sqlalchemy.org/en/rel_1_0/core/engines.html#database-urls oracle+cx_oracle://ifn:XXXXXX@DBDESA但是产生错误
(TypeError:应为无或字符串)
另外,我尝试用sqlalchemy做一个连接来测试连接
Import sqlalchemy as sa
Eng = sa.create_engine ('oracle + cx_oracle: // ifn: XXXXXX @ DBDESA')
Eng.execute ('select 1 from dual') fetchall ()
但是我得到了同样的错误,还有其他需要的配置吗?对连接到oracle XE的编码或其他内容?或者超集配置中的其他参数?在
在Tnsnames.ora公司在
^{pr2}$谢谢你的支持!在
我认为URI的语法可能是错误的。在
请参考以下示例,尝试设置URI:
例如:
^{pr2}$尽管文档中说支持oracle,但是要使其正常工作,您将很难做到。在
例如:
superset/models/core.py
,以及迁移superset/migrations/*
(查找创建表的每个地方)中执行此操作。在superset/migrations/env.py
,之后:^{pr 1}$
add a similar block for oracle as below:
^{pr 2}$
Notice that I removed the
transaction_per_migration
参数。你也可以在“中使用equals代替:)论方言
site-packages/sqlalchemy/dialects/oracle/base.px
添加“rows”作为保留字./base.py:360:RESERVED_WORDS
每次您想升级超集时都要这样做。
放弃这个烂摊子,使用Mysql
相关问题 更多 >
编程相关推荐