JDBC驱动程序遇到通信错误。消息:HTTP状态=400

JDBC驱动程序遇到通信错误。消息:HTTP状态=400,jdbc,snowflake-cloud-data-platform,http-status-code-400,Jdbc,Snowflake Cloud Data Platform,Http Status Code 400,我试图通过提供一个连接字符串来使用Snowflake jdbc 3.7.2来连接Snowflake DB。 字符串的格式为: jdbc:snowflake://xxxxx.snowflakecomputing.com/?&db=&warehouse=&role=&authenticator= 我还尝试了以下字符串: jdbc:snowflake://xxxxx.snowflakecomputing.com/?db=&warehouse=&role

我试图通过提供一个连接字符串来使用Snowflake jdbc 3.7.2来连接Snowflake DB。 字符串的格式为:

jdbc:snowflake://xxxxx.snowflakecomputing.com/?&db=&warehouse=&role=&authenticator=
我还尝试了以下字符串:

jdbc:snowflake://xxxxx.snowflakecomputing.com/?db=&warehouse=&role=&authenticator=
但我无法找到任何解决错误的方法。我得到了一个错误:

SQL Exceptionnet.snowflake.client.jdbc.SnowflakeSQLException: JDBC driver encountered communication error. Message: HTTP status=400.

以前有人遇到过这个问题吗?如何解决这个问题?

是否包含用户名/etc的值

下面是一个JDBCURL的例子,它应该可以工作,它还具有跟踪集,这应该有助于进一步的调试

jdbc:snowflake://xxxxx.snowflakecomputing.com/?user=USERID-HERE&role=ROLE-HERE&warehouse=WAREHOUSE-HERE&db=DATABASE-HERE&schema=SCHEMA-HERE&tracing=ALL
配置连接的文档可以在以下链接中找到:


是否包含用户名/etc的值

下面是一个JDBCURL的例子,它应该可以工作,它还具有跟踪集,这应该有助于进一步的调试

jdbc:snowflake://xxxxx.snowflakecomputing.com/?user=USERID-HERE&role=ROLE-HERE&warehouse=WAREHOUSE-HERE&db=DATABASE-HERE&schema=SCHEMA-HERE&tracing=ALL
配置连接的文档可以在以下链接中找到:


代理端口出现错误。我没有使用代理设置中提到的端口。因此,我得到了错误


感谢Rich的帮助。

代理端口出现错误。我没有使用代理设置中提到的端口。因此,我得到了错误


感谢Rich提供的帮助。

可能会有帮助:“400错误的请求-响应状态代码表示服务器无法或不会处理请求,原因是被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由)。”可能会有帮助:“400错误的请求-响应状态代码表示服务器无法或将不会处理请求,原因是被认为是客户端错误(例如,格式错误的请求语法、无效的请求消息帧或欺骗性的请求路由)。“我没有在URL中传递任何用户名值。我正在属性中传递用户名和密码。如果您在.getconnection中使用属性,那么您不应该在jdbc url中包含这些参数(参数),请参阅本文档中的示例:我正在跟踪它们。JDBC URL中未提供用户名和密码。我使用的是这里提供的第二种方法。我没有在URL中传递任何用户名值。我正在属性中传递用户名和密码。如果您在.getconnection中使用属性,那么您不应该在jdbc url中包含这些参数(参数),请参阅本文档中的示例:我正在跟踪它们。JDBC URL中未提供用户名和密码。我正在使用那里提供的第二种方法。