雪花查询只能使用cli,但不能使用python雪花连接器

时间:2019-12-03 21:53:24

标签: python snowflake-data-warehouse

#!/bin/bash

query="""
select table_name,table_schema
from CDP.information_schema.tables
where table_schema != 'INFORMATION_SCHEMA';
"""

snowsql -c latchsnowflake -d ${dbname} -s ${schema} -r ${role} -w ${warehouse} -q "${query}"

运行。

使用雪花连接器-python的等效命令

具有相同凭据的

找不到数据库。当我通过UI检查历史记录中的查询时,我可以看到仓库没有被使用。

我创建连接并按以下方式运行查询:

#!/usr/bin/env python
conn = snowflake.connector.connect(
                user=self.SNOWFLAKE_USER,
                password=self.SNOWFLAKE_PASSWORD,
                account=self.SNOWFLAKE_ACCOUNT,
                warehouse=self.SNOWFLAKE_WAREHOUSE,
                database=self.SNOWFLAKE_DATABASE,
                schema=self.SNOWFLAKE_SCHEMA,
                )        
query = """
    select table_name,table_schema
    from CDP.information_schema.tables
    where table_schema != 'INFORMATION_SCHEMA';
    """
cur = conn.cursor()
cur.execute(query)
print(cur.fetchall())
cur.close()

但是,错误如下:

snowflake.connector.errors.ProgrammingError: 002003 (02000): SQL compilation error:
Database 'CDP' does not exist or not authorized.

1 个答案:

答案 0 :(得分:0)

在您的SnowSQL版本中,您正在指定一个角色。但是,在python中却不是。确保用户的默认角色与您在SnowSQL连接中使用的默认角色相同。