使用 JDBC 将数据插入 Snowflake
Inserting data into Snowflake using JDBC
我正在使用简单 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 驱动程序是否也支持交易?
关于“[错误] 2016 年 9 月 9 日 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata
[error] INFO: unknown parameter: TIME_OUTPUT_FORMAT", 这些是 INFO 日志。这意味着驱动程序不处理这些参数。您可以忽略它们。我们将更改默认情况下不记录这些行的行为.
我们支持 PreparedStatement 的 executeBatch。因此,您可以通过批量绑定插入大量行。目前不支持 executeLargeBatch,但如果需要,我们可以轻松添加对它的支持。
我们的 JDBC 驱动程序支持事务。默认情况下,会话将以自动提交模式启动。如果你想关闭自动提交,你可以调用 Connection.setAutoCommit 方法,然后使用 commit() 或 rollback() 来提交或回滚一个事务。事务在第一个 DML 时透明地启动。
我正在使用简单 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 驱动程序是否也支持交易?
关于“[错误] 2016 年 9 月 9 日 9:41:28 AM com.snowflake.client.jdbc.SnowflakeResultSet processMetadata [error] INFO: unknown parameter: TIME_OUTPUT_FORMAT", 这些是 INFO 日志。这意味着驱动程序不处理这些参数。您可以忽略它们。我们将更改默认情况下不记录这些行的行为.
我们支持 PreparedStatement 的 executeBatch。因此,您可以通过批量绑定插入大量行。目前不支持 executeLargeBatch,但如果需要,我们可以轻松添加对它的支持。
我们的 JDBC 驱动程序支持事务。默认情况下,会话将以自动提交模式启动。如果你想关闭自动提交,你可以调用 Connection.setAutoCommit 方法,然后使用 commit() 或 rollback() 来提交或回滚一个事务。事务在第一个 DML 时透明地启动。