如何使用clojure在JDBC中禁用自动提交
我想使用Clojure的JDBC接口来更新配置单元数据库。特别是,我想添加分区。代码如下所示:如何使用clojure在JDBC中禁用自动提交,jdbc,clojure,hive,database-partitioning,Jdbc,Clojure,Hive,Database Partitioning,我想使用Clojure的JDBC接口来更新配置单元数据库。特别是,我想添加分区。代码如下所示: (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.apa
(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))
祝你好运。谢谢-我找到了一个类似于你所写的解决方法。