使用 JDBC 将数据插入雪花

Posted

技术标签:

【中文标题】使用 JDBC 将数据插入雪花【英文标题】:Inserting data into Snowflake using JDBC 【发布时间】:2016-09-09 14:48:20 【问题描述】:

我正在使用简单的 jdbc 将行插入到 Snowflake 数据库中。我正在循环中执行“executeUpdate”。看到插入了行,但是报这个错误

[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: TIME_OUTPUT_FORMAT
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: CLIENT_DISABLE_INCIDENTS
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: JS_DRIVER_DISABLE_OCSP_FOR_NON_SF_ENDPOINTS
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: JS_DRIVER_ENABLE_COMPRESSION
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: ODBC_ENABLE_COMPRESSION
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: CLIENT_SESSION_KEEP_ALIVE
[error] Sep 09, 2016 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: JDBC_USE_JSON_PARSER

我不确定这些错误是什么......以及是否可以忽略它们。

我还看到雪花 JDBC 驱动程序不支持 executeBatch 和 executeLargeBatch。那么如何从 Java 应用程序上传大量行呢?

JDBC 驱动也支持事务吗?

【问题讨论】:

【参考方案1】:

    关于“[错误] 2016 年 9 月 9 日上午 9:41:28 com.snowflake.client.jdbc.SnowflakeResultSet processMetadata [错误] INFO: unknown parameter: TIME_OUTPUT_FORMAT",这些是INFO日志。这意味着驱动程序不处理这些参数。您可以忽略它们。我们将更改默认情况下不记录这些行的行为。

    我们支持 PreparedStatement 的 executeBatch。因此,您可以通过批量绑定插入大量行。目前不支持 executeLargeBatch,但如果需要,我们可以轻松添加对它的支持。

    我们的 JDBC 驱动程序支持事务。默认情况下,会话将以自动提交模式启动。如果要关闭自动提交,可以调用 Connection.setAutoCommit 方法,然后使用 commit() 或 rollback() 提交或回滚事务。事务在第一个 DML 时透明地启动。

【讨论】:

知道如何在准备好的语句中将 Java 对象传递给 Snowflake 中的变体列吗?我在这里问过***.com/questions/56784193/… 我已经回复了你的帖子。

以上是关于使用 JDBC 将数据插入雪花的主要内容,如果未能解决你的问题,请参考以下文章

尝试使用 SQLAlchemy 将数据插入雪花数据库表

雪花表中json数据的解析字段将多行插入到新的雪花表中

使用 Python 将数据写入雪花

雪花 jdbc 参数为所有数据类型返回 VARCHAR

Kafka JDBC Sink Connector 在雪花中找不到表

雪花 jdbc 中的 secretkeyfactory 不可用错误