[英]Allow only one connection to SQLITE .db file using Java JDBC
我正在使用Java 8和Xerial SQLITE JDBC驅動程序 。
我有一個具有多個用戶的應用程序,每個用戶都有各自的數據庫( dbFile.db
),但是任何用戶在未連接時也可以連接到其他用戶的數據庫。
問題是我希望每次只有一個用戶能夠連接到dbFile.db
,並且如果他/她沒有斷開連接(關閉數據庫連接),那么其他任何用戶都不能打開連接該數據庫文件。
代碼很簡單,我只是使用JDBC和Java 8打開連接。
try {
//!I want here to check if another user is connected to the database!
if(otherUserConnected)
return;
// Open connection
Connection connection = DriverManager.getConnection("jdbc:sqlite:C:/../../users/d/dbFile.db");
connection.setAutoCommit(false);
} catch (SQLException ex) {
Main.logger.log(Level.SEVERE, "", ex);
}
使用PRAGMAlocking_mode = EXCLUSIVE可以防止與數據庫的任何其他連接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.