簡體   English   中英

使用Java JDBC僅允許一個連接到SQLITE .db文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM