【问题标题】:How to disable autocommit in JDBC using clojure如何使用 clojure 在 JDBC 中禁用自动提交
【发布时间】:2016-01-22 22:49:31
【问题描述】:

我想使用 Clojure 的 JDBC 接口来更新 Hive 数据库。特别是,我想添加分区。代码如下:

(jdbc/db-do-commands hive-db ["ALTER TABLE foo ADD PARTITION (year=2015, month=10, day=1, hour=1) LOCATION '/bar'"])

但是,我收到一个错误:

java.sql.SQLException: enabling autocommit is not supported
 at org.apache.hive.jdbc.HiveConnection.setAutoCommit (HiveConnection.java:1071)
    clojure.java.jdbc$db_transaction_STAR_.doInvoke (jdbc.clj:605)
    clojure.lang.RestFn.invoke (RestFn.java:425)
    ...

据我所知,在 Hive 的 JDBC 驱动程序中启用自动提交目前 several 未解决 issues。因此我想禁用自动提交。 clojure.java.jdbc是怎么做到的?

【问题讨论】:

    标签: jdbc clojure hive database-partitioning


    【解决方案1】:

    也许以下内容会有所帮助:

    (let [con (db-find-connection db)]
       (.setAutoCommit con false))
    

    祝你好运。

    【讨论】:

    • 谢谢 - 我找到了一个类似于你写的解决方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 2021-09-05
    • 2016-01-13
    • 2020-03-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多