错误消息

客户端连接错误消息可以指示位于主机和 Snowflake 端点之间的网络路径中的各种潜在原因,包括任何可能的代理、安全设备、负载平衡器、DNS 服务器等。您可以找到以下客户端的常见错误消息及其潜在原因和解决方法:

JDBC 错误

JDBC 错误 1

错误

Cannot connect: connection refused: Java::NetSnowflakeClientJdbc::SnowflakeSQLException: JDBC driver encountered communication error. Message: Exception encountered for HTTP request: Connection reset.

根本原因:此错误有各种根本原因,位于您尝试连接的主机与 Snowflake 端点之间的网络路径中,包括任何可能的代理、安全设备、负载平衡器等。

解决方案防火墙或代理 SSL 检查问题

JDBC 错误 2

错误

JDBC driver encountered communication error. Message: Exception encountered for HTTP request:

sun.security.validator.ValidatorException: No trusted certificate found.

OR

javax.net.ssl.SSLHandshakeException: No trusted certificate found

OR

'SSL peer certificate or SSH remote key was not OK'

根本原因:此问题可能是由代理或安全设备执行 SSL 检查引起的。

在极少数情况下(通常是使用较旧的 Java 安装),在没有进行 SSL 检查但云提供商将一个中间证书颁发机构更改为另一个(众所周知的)颁发机构,而该颁发机构尚未出现在信任存储中时,也会出现相同的症状。

解决方案防火墙或代理 SSL 检查问题

JDBC 错误 3

错误

JDBC driver encountered a communication error. Message: Exception encountered for an HTTP request: Network is unreachable (Connect Failed)

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案防火墙或代理 SSL 检查问题

JDBC 错误 4

错误

JDBC driver encountered communication error. Message: Exception encountered for HTTP request: <SERVICE_ENDPOINT>: nodename nor servname provided, or not known.

根本原因:请参阅 DNS 配置问题

解决方案DNS 配置问题

JDBC 错误 5

错误

WARNING!!! Using fail-open to connect. Driver is connecting to an HTTPS endpoint without OCSP based Certificate Revocation checking as it could not obtain a valid OCSP Response to use from the CA OCSP responder. Details: {"cacheEnabled":true,"ocspReqBase64":null,"ocspMode":"FAIL_OPEN","sfcPeerHost":"<SERVICE_ENDPOINT>","ocspResponderURL":null,"cacheHit":true,"eventType":"OCSPValidationError","certId":"<OBFUSCATED>"}

根本原因:请参阅 OCSP 和端口 80 问题

解决方案OCSP 和端口 80 问题

JDBC 错误 6

错误

JDBC driver internal error: Max retry reached for the download of #chunk0 (Total chunks:<x>) retry=<y>, error=net.snowflake.client.jdbc.SnowflakeSQLException: JDBC driver encountered communication error. Message: Error encountered when downloading a result chunk:

根本原因:请参阅 获取大型查询结果集失败

解决方案获取大型查询结果集失败

JDBC 错误 7

错误

JDBC driver encountered communication error. Message: Exception encountered for HTTP request: Failed to find the root CA

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案防火墙或代理 SSL 检查问题

JDBC 错误 8

错误

net.snowflake.client.jdbc.internal.apache.http.impl.execchain.RetryExec execute INFO: I/O exception (java.net.SocketException) caught when processing request to {s}->https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443: Broken pipe (Write failed)

根本原因

客户端驱动程序试图通过它认为已经启动的连接(管道)发送数据,而那个特定连接在远端已经关闭,只是客户端驱动程序没有意识到这一点。

  • 此错误的一个简单场景是,客户端驱动程序和 Snowflake 之间的代理或安全设备上配置了空闲超时,超时到期后,会在不通知双方的情况下终止连接

  • 通常情况下,对客户机驱动程序和 Snowflake 之间断开连接的真正根本原因进行故障排除可能是一项复杂的工作,涉及的细节超出了本文档的范围

解决方案

您可以在 JDBC 驱动程序内配置一个 TTL,它将从客户端温和地关闭连接,而不是被远程空闲超时拆除;防止问题发生。该设置可从 JDBC 驱动程序版本 3.12.17 获得;从 3.13.30 开始,已经配置了默认值(1 分钟)。

有关更多信息,请参阅 I/O 错误:连接重置

JDBC 错误 9

错误

JDBC driver encountered communication error. Message: Exception encountered for HTTP request: Remote host terminated the handshake

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案防火墙或代理 SSL 检查问题

JDBC 错误 10

错误

net.snowflake.client.jdbc.SnowflakeSQLLoggedException: JDBC driver encountered IO error. Message: Encountered exception during upload: null.

根本原因:客户端驱动程序在上传操作期间访问与您的 Snowflake 账户关联的云存储时出现问题。这是由于位于客户端驱动程序和云存储之间的网络路径上的代理/安全设备上配置错误造成的。

解决方案场景:虽然流量方向相反,但请参阅 获取大型查询结果集失败

JDBC 错误 11

错误

JDBC driver encountered communication error. Message: Exception encountered for HTTP request: Certificate for [<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>] doesn't match any of the subject alternative names: [*.us-west-2.snowflakecomputing.cn, *.us-west-2.aws.snowflakecomputing.cn, *.global.snowflakecomputing.cn, *.snowflakecomputing.cn, *.prod1.us-west-2.aws.snowflakecomputing.cn, *.prod2.us-west-2.aws.snowflakecomputing.cn].

根本原因:此客户端驱动程序正试图连接到位于 AWS US WEST(也是默认的云区域)中的 Snowflake 账户(或云存储)。连接不成功,因为客户端驱动程序看到的证书与请求中的主机名不匹配。

最可能的原因包括:

  • 如果您的 Snowflake 账户不在 AWS US WEST 中:最常见的问题是 JDBC 驱动程序连接字符串中的账户部分配置错误。

  • 如果您的 Snowflake 账户确实位于 AWS US WEST:可能的原因是代理/安全设备执行 SSL 检查。

解决方案

JDBC 错误 12

错误

I/O exception (net.snowflake.client.jdbc.internal.apache.http.NoHttpResponseException) caught when processing request to {s}->https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>].snowflakecomputing.cn:443: The target server failed to respond

根本原因

客户端驱动程序没有收到发送到远程端点的请求的及时响应。

最可能的原因包括:

  • 如果问题持续存在,则很可能是实际连接问题。

  • 如果问题是间歇性的,具体来说;如果 NoHttpResponseException 在请求发送后非常快(毫秒)发生,则此错误表示客户端驱动程序和服务器之间的 TCP 会话已关闭,只是驱动程序不知道而已。如果中间代理/负载平衡器在客户端和服务器之间拆除会话,而不通知任何一方,则后一种情况经常发生。

解决方案

  • 对于持续错误和在请求后等待较长时间后发生 NoHttpResponseException 的情况,请遵循 故障排除步骤

  • 对于这种异常是间歇性的,并且在客户端驱动程序发送请求后很快抛出的情况,在版本 3.12.17 和 3.13.30 之间,您有一个配置选项 net.snowflake.jdbc.ttl,以确保关闭空闲连接,从而防止中间节点(例如 loadbalancer)意外地将其拆除,而不通知另一端的客户端。有关更多信息,请参阅 I/O 错误:连接重置

从 JDBC 驱动程序版本 3.13.30 起;您仍然可以使用此配置选项,但通常不需要更改它,因为它现在具有默认值 1 分钟空闲超时(60 秒)。

在这两种情况下,JDBC 驱动程序都应该根据其重试策略自动重试发送失败的请求,而无需任何用户干预。

ODBC 错误

ODBC 错误 1

错误

'OLE DB or ODBC error: [DataSource.Error] ERROR [HY000] [Snowflake][Snowflake] (25) Result download worker error: Worker error: [Snowflake][Snowflake] (4) REST request for URL <>.... :  CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK' osCode=9 osMsg='Bad file descriptor'. . '.*

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 2

错误

Error: nanodbc/nanodbc.cpp:1135: 01S00: [Snowflake][Snowflake] (4) REST request for URL *** failed: CURLerror (curl_easy_perform() failed) - code=60 msg='SSL peer certificate or SSH remote key was not OK'.

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 3

错误

'SSL peer certificate or SSH remote key was not OK'

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 4

错误

SSL certificate problem: self signed certificate in certificate chain. Please check for SSL interception proxy in your network.

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 5

错误

CURLerror (curl _easy_perform failed) - code=35 msg='SSL connect error' osCode=10054 osMsg='Unknown error'.

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 6

错误

'Empty reply from server' (CURLerror (curl_easy_perform() failed) - code=52 msg='Server returned nothing (no header..)

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 7

错误

ERROR 5052 Simba::ODBC::Connection::SQLDriverConnectW: [Snowflake][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED>&databaseName=<OBFUSCATED>&schemaName=<OBFUSCATED>&warehouse=<OBFUSCATED>failed: CURLerror (curl_easy_perform() failed) - code=35 msg='SSL connect error'.

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 8

错误

ERROR 710 Simba::ODBC::Statement::SQLFetchScroll: [Snowflake][Snowflake] (25) Result download worker error: Worker error: [Snowflake][Snowflake] (4) REST request for URL https://<STAGE>/<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&AWSAccessKeyId=<OBFUSCATED>&Expires=<OBFUSCATED>&Signature=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=52 msg='Server returned nothing (no headers, no data)'.

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

ODBC 错误 9

错误

[Snowflake][Snowflake] (6) Assertion failure: error_in_response_json

根本原因:有多种因素可能导致此错误。

解决方法:尝试 常见连接问题和解决方案 并执行:doc:troubleshooting-steps

ODBC 错误 10

错误

WARN 9594 sf::RestRequest::httpPerform: Got CURL(0000015547C0CC10) error: Failed to connect to <PROXY_HOST> port 80: Timed out when fetching data from https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED>. Status code: 11, curl error code: 28

根本原因

由于请求超时,客户端驱动程序无法为给定用户执行登录操作。(curl 错误代码 28 = CURLE_OPERATION_TIMEDOUT)。

这可能是由于客户端驱动程序和 Snowflake 之间的网络路径上的一个或多个设备(代理/安全设备)配置错误造成的。

解决方案

请遵循 故障排除步骤 并与系统管理员/网络管理员合作,以确保从您运行客户端驱动程序的主机可以访问所有 Snowflake 端点。

ODBC 错误 11

错误

ERROR [HY000] [Microsoft][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=6 msg='Couldn't resolve host name'.

根本原因:请参阅 DNS 配置问题

解决方案场景:请参阅 DNS 配置问题

ODBC 错误 12

错误

ERROR [HY000] [Snowflake][Snowflake] (4) REST request for URL https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/v1/login-request?requestId=<OBFUSCATED>&request_guid=<OBFUSCATED> failed: CURLerror (curl_easy_perform() failed) - code=5 msg='Couldn't resolve proxy name' osCode=9 osMsg='Bad file descriptor'.

根本原因:请参阅 DNS 配置问题

解决方案场景:请参阅 DNS 配置问题

ODBC 错误 13

错误

[Snowflake][Snowflake] (25) Result download worker error: Worker error: [Snowflake][Snowflake] (4) REST request for URL https://<STAGE>/results/<OBFUSCATED>_02Fmain2Fdata_0_0_8?sv=<OBFUSCATED>&spr=https&se=<OBFUSCATED>&sr=b&sp=r&sig=<OBFUSCATED>&rsce=gzip failed: CURLerror (curl_easy_perform() failed) - code=42 msg='Operation was aborted by an application callback'.

根本原因:请参阅 获取大型查询结果集失败

解决方案场景:请参阅 获取大型查询结果集失败

Snowflake Connector for Python 和 SnowSQL 错误

Python 错误 1

错误

SSL validation failed for https://<STAGE>/?accelerate [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:852)

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 2

错误

SSLError: HTTPSConnectionPool(host='<STAGE>', port=443): Max retries exceeded with url: /<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&AWSAccessKeyId=<OBFUSCATED>&Expires=<OBFUSCATED>&Signature=<OBFUSCATED> (Caused by SSLError(SSLError("bad handshake: Error([('SSL routines', 'tls_process_server_certificate', 'certificate verify failed')])")))

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 3

错误

(Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 407 Request rejected by proxy')))

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 4

错误

250001 (n/a): Could not connect to Snowflake backend after 0 attempt(s).Aborting

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 5

错误

snowflake.connector.network.RetryRequest: HTTP 403: Forbidden

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 6

错误

250003 (n/a): Failed to get the response. Hanging? method: post, url: https://[<SNOWFLAKE_DEPLOYMENT>|<SNOWFLAKE_DEPLOYMENT_REGIONLESS>|<CLIENT_FAILOVER>]:443/session/authenticator-request?request_guid=<OBFUSCATED>

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

Python 错误 7

错误

Retrying (Retry(total=0, connect=None, read=None, redirect=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected ('Remote end closed connection without response'))'

根本原因

此错误消息的含义:客户端驱动程序能够连接到远程端并向其发送 HTTP 请求,但在尝试读取响应时,没有从远程端读取到任何数据,这表明远程端上的某些组件关闭了连接。

最可能的原因是持续的 RemoteDisconnected 错误,这表明在客户端驱动程序和 Snowflake 端点之间的一个或多个代理/安全设备上配置错误。

解决方案场景:请按照 故障排除步骤 操作,并确保您可能拥有的任何中间代理或安全设备上都允许所有 Snowflake 端点。

Python 错误 8

错误

HTTPSConnectionPool(host='<STAGE>', port=443): Max retries exceeded with url: /<OBFUSCATED>/results/<OBFUSCATED>_0/main/data_0_0_1?x-amz-server-side-encryption-customer-algorithm=<OBFUSCATED>&response-content-encoding=gzip&X-Amz-Algorithm=<OBFUSCATED>&X-Amz-Date=<OBFUSCATED>&X-Amz-SignedHeaders=<OBFUSCATED>&X-Amz-Expires=<OBFUSCATED>&X-Amz-Credential=<OBFUSCATED>&X-Amz-Signature=<OBFUSCATED> (Caused by SSLError(SSLError("bad handshake: SysCallError(-1, 'Unexpected EOF')")))

根本原因:请参阅 防火墙或代理 SSL 检查问题

解决方案场景:请参阅 防火墙或代理 SSL 检查问题

如果解决步骤不能解决问题,请联系 Snowflake 支持部门 以获得进一步帮助。

语言: 中文