簡體   English   中英

如何使用clojure在JDBC中禁用自動提交

[英]How to disable autocommit in JDBC using clojure

我想使用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驅動程序中啟用自動提交目前有幾個未解決的問題 因此,我想禁用自動提交。 怎么在clojure.java.jdbc完成?

也許類似下面的內容會有所幫助:

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

祝你好運。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM