我正在制作一個在 Docker 映像中運行 Microsoft SQL Server 的 Clojure 庫。我正在使用影像 2019-CU14-ubuntu-20.04。
有一個 JDBC 宏with-db-transaction可以采用只讀引數。這適用于 PostgreSQL 映像,但不適用于 Microsoft SQL Server。有什么方法可以將與 SQL Server 的連接設定為只讀?
uj5u.com熱心網友回復:
JDBC 沒有只讀事務的概念,但它確實支持只讀連接(但僅作為提示,因此不一定需要底層資料庫或驅動程式的支持)。一些驅動程式會忽略此提示,而其他驅動程式則使用它來啟動只讀事務。
Microsoft SQL Server JDBC 驅動程式不支持它;Connection.setReadOnly(boolean)in的實作SQLServerConnection什么都不做:
@Override
public void setReadOnly(boolean readOnly) throws SQLServerException {
if (loggerExternal.isLoggable(Level.FINER))
loggerExternal.entering(loggingClassName, "setReadOnly", readOnly);
checkClosed();
// do nothing per spec
loggerExternal.exiting(loggingClassName, "setReadOnly");
}
換句話說,不能將 SQL Server 的連接設定為只讀。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410983.html
標籤:
