有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java可设置性已启用,但MSSQLSDriver未启用

我有一个clojure代码,在其中我访问一个MSSQL数据库,然后该代码执行一些select语句从数据库中检索一些数据

设置连接时,我按照建议设置了“可设置性”:

(defmethod connection-with-timezone :sql-jdbc
  [driver database ^String timezone-id]
  (let [conn (.getConnection (datasource database))]
    (try
      (set-best-transaction-level! driver conn)
      (set-time-zone-if-supported! driver conn timezone-id)
      (try
        (.setReadOnly conn true)
        (catch Throwable e
          (log/debug e (trs "Error setting connection to read-only"))))
      (try
        (.setHoldability conn ResultSet/CLOSE_CURSORS_AT_COMMIT)
        (catch Throwable e
          (log/debug e (trs "Error setting default holdability for connection"))))
      conn
      (catch Throwable e
        (.close conn)
        (throw e)))))

但是在运行代码时,语句失败,它说:“SQL Server仅支持连接级别的可保持性。请使用connection.setHoldability()方法。”

例外情况:

2021-03-24T09:59:33.581555081Z com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server supports holdability at the connection level only. Use the connection.setHoldability() method.

事情是,保持性已经在连接中设置好了,如上所示。我用来访问数据库的凭证是只读的,但无论如何,这些语句都只是select语句,所以它不应该相关

你知道为什么会这样吗


共 (0) 个答案