查询在snowflake web UI中工作,但通过python sqlalchemy连接器不一致

2024-03-29 15:39:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个sqlalchemy到snowflake的连接设置,它可以工作,因为我可以运行一些查询并得到结果。尝试查询也会记录在我的用户查询历史记录中

我的连接:

engine = create_engine(URL(
  user, password, account, database, warehouse, role
))

connection = engine.connect()

但是,大多数情况下,我的查询都无法返回操作错误(即,这是一个雪花错误)https://docs.sqlalchemy.org/en/13/errors.html#error-e3q8。但这些查询在snowflake web UI中也可以正常运行

例如,如果我跑步

test_query = 'SELECT * FROM TABLE DB1.SCHEMA1.TABLE1'
test = pd.read_sql(test_query, connection)

当我查看我的查询历史时,它显示sqlalchemy查询失败,然后一秒钟后基本查询本身成功运行。但是,我不确定这个输出在雪花设置中的位置,以及为什么它不通过我的sqlalchemy连接传输。我所看到的

  • Query='DESC TABLE/*sqlalchemy:_has_object*/“SELECT*FROM DB1”。“SCHEMA1”。“TABLE1”

    错误代码=2003错误消息=SQL编译错误:数据库 ““SELECT*FROM DB1”不存在

然后1秒后,查询本身将成功运行,但由于没有通过连接发送,因此不清楚该查询的去向

  • Query=从表DB1.SCHEMA1.TABLE1中选择*

非常感谢任何帮助! 谢谢


Tags: fromtestsqlalchemy错误tableconnectionqueryselect
3条回答

查询不太可能在WebUI中运行,并且在通过CLI或其他模式连接时出现语法错误

建议您通过CLI或连接器打印查询,将其运行到WebUI,并注意从哪个角色运行查询

请分享你的发现

所提到的查询(从表DB1.SCHEMA1.TABLE1中选择*)不是雪花支持的SQL语法

链接here将帮助您了解更多详细信息。 希望这有帮助

您也可以尝试在此处添加模式

engine = create_engine(URL(
    account = '',
    user = '',
    password = '',
    database = '',
    schema = '',
    warehouse = '',
    role='',
))

connection = engine.connect()

相关问题 更多 >