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) 个答案