我是Django的新手,正在尝试显示来自Snowflake数据库的结果。我知道Django有多个内置的数据库后端引擎,例如:django.db.backends.postgresql
和django.db.backends.mysql
以及其他受支持的引擎。
不幸的是,我找不到在
中配置数据库后端引擎的正确方法。settings.py
当我输入sqlalchemy
或snowflake-sqlalchemy
作为引擎时,出现此错误:
Try using 'django.db.backends.XXX', where XXX is one of:
'mysql', 'oracle', 'postgresql', 'sqlite3'
我的猜测是和sqlalchemy
一起使用,因为这是我通常用于连接Django外部的Snowflake的功能,但是由于某些原因,它无法正常工作。
我希望对此有任何指导。
答案 0 :(得分:0)
please install snowflake-connector-python .E.g. below
pip3 install snowflake-connector-python==1.8.1
Here is the code to connect from SQL Alchemy.
=====================================================================
#!/usr/bin/env python
from snowflake.sqlalchemy import URL
from sqlalchemy import create_engine
engine = create_engine(URL(
account = 'XXXX',
user = 'XXXX',
password = 'XXXXX',
database = 'XXXXXX',
schema = 'XXXXXX',
warehouse = 'XXXXX',
role='XXXXXXXX',
))
try:
connection = engine.connect()
connection.execute(
"CREATE OR REPLACE TABLE test_async(c1 TIMESTAMP_NTZ,c2 VARIANT)",_no_results=True)
finally:
connection.close()
engine.dispose()
=========================================================================
答案 1 :(得分:0)
您应该安装一个自定义的 Snowflake
引擎,如下所示。请注意,截至今天,这些都不完整。不过,通过完成 Django
文件来实现缺失的 operations.py
功能应该不难。
-> https://github.com/pricemoov/django-snowflake
或