使用JDBC将数据插入Snowflake

时间:2016-09-09 14:48:20

标签: jdbc snowflake-datawarehouse

我使用简单的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 个答案:

答案 0 :(得分:2)

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

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

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