Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Snowflake cloud data platform 为什么在连接snowflake和python时会出现此错误_Snowflake Cloud Data Platform_Snowflake Schema - Fatal编程技术网

Snowflake cloud data platform 为什么在连接snowflake和python时会出现此错误

Snowflake cloud data platform 为什么在连接snowflake和python时会出现此错误,snowflake-cloud-data-platform,snowflake-schema,Snowflake Cloud Data Platform,Snowflake Schema,这就是我通过python连接到snowflake时遇到的错误 OperationalError: 250003: Failed to execute request: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])",) 我使用以下方式连接: ctx = snowflake.connector.connect(

这就是我通过python连接到snowflake时遇到的错误

OperationalError: 250003: Failed to execute request: ("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])",)
我使用以下方式连接:

ctx = snowflake.connector.connect(

          user='JoeBloggs',
          password='pwd',
          account='JoeBloggs',

          database='DEV_DATA'

         )

我是否需要输入其他参数,如端口、主机等?我是如何找到这些参数的?

我最初的想法是,该错误表明存在防火墙或代理问题。特别是,代理可能会截取Snowflake的SSL证书,并将其替换为自己的SSL证书。解决此问题的最佳方法是确保代理中的证书受信任,并根据Snowflake的文档配置代理,以便Snowflake证书可以通过

下面的文档提供了有关在SnowSQL中使用代理的更多信息。您可以将错误和发卡机构详细信息传递给您的网络工程师,并可以请求将所需的URL文档列入白名单,也可以在下面概述白名单要求。您可以使用SYSTEM$WHITELIST函数在代理或防火墙中为您的帐户获取白名单的所有URL


我认为您的“账户”价值需要修改。看起来你正在使用你的用户名,但应该是雪花帐户。这应该是您直接连接到的URL中位于snowflakecomputing.com部分之前的部分。例如,“xy12345.east-us-2.azure”

First, install Snowflake python connector .pip3 install snowflake-python-connector.

Can you try with code below:

------------------------------------------------------

import snowflake.connector

PASSWORD = '*****'
USER = '<UNAME>'
ACCOUNT = '<ACCNTNAME>'
WAREHOUSE = '<WHNAME>'
DATABASE = '<DBNAME>'
SCHEMA = 'PUBLIC'

print("Connecting...")
con = snowflake.connector.connect(
  user=USER,
  password=PASSWORD,
  account=ACCOUNT,
  warehouse=WAREHOUSE,
  database=DATABASE,
  schema=SCHEMA
)

con.cursor().execute("USE WAREHOUSE " + WAREHOUSE)
con.cursor().execute("USE DATABASE " + DATABASE)

try:
    result = con.cursor().execute("Select * from <TABLENAME>")
    result_list = result.fetchall()
    print(result_list)

finally:
    con.cursor().close()
con.cursor().close()

---------------------------------------------------