2015-02-24 84 views
0

我想將已經存在的SQLite數據庫連接到我的java項目,作爲測試簡單登錄對話框的臨時解決方案。這裏是我的連接器類:SQLite異常路徑不存在

import java.sql.*; 
import javax.swing.*; 

public class SQLite_login_connector { 
//Initializes global connection variable (unused until now!) 
Connection conn_log = null; 

public static Connection logindb_connection(){ 

    //Simple try catch block that prints error trace log in a JOptionPane if runtime error occurs. 

    try{ 
     Class.forName("org.sqlite.JDBC"); 

     Connection conn_log = DriverManager.getConnection("jdbc:sqlite:/SQLite/ISRSMS_Login.sqlite"); 
     JOptionPane.showMessageDialog(null, "Connection Successful!"); 
     return conn_log; 

    } catch(Exception e){ 
     JOptionPane.showMessageDialog(null, e); 
     return null; 
    }  
    } 
} 

我的SQLite數據庫所在的文件夾在我的項目文件夾中:

Project folder with SQLite database

當我嘗試運行我的連接器類,它拋出以下異常:

JMessageDialog with Eception e printed

對我來說,它看起來好像假設包含我的數據庫位於我的F:驅動器上,而不是我的本地存儲庫中的根項目。我曾嘗試將數據庫放入我的src文件夾,以及放入一個新的資源文件夾中。每次它拋出相同的異常。它爲什麼這樣做?

回答

1

正如你metntioned /尤爾在連接字符串,它指向你的驅動器 的根目錄中刪除/連接字符串中做如下

DriverManager.getConnection("jdbc:sqlite:SQLite/ISRSMS_Login.sqlite") 

爲了您的方便,請遵循java語言的命名約定 http://www.oracle.com/technetwork/java/codeconventions-135099.html

+0

謝謝,我現在感到很蠢。我以某種方式設法在複製他的路徑時不會注意到/。對不起浪費時間! – Vortex 2015-02-24 15:37:57

+0

至於類名稱,感謝您的建議,但他們是給我的,因爲我們的回購的另一個貢獻者要求我使用它們。我認爲他們也很討厭 – Vortex 2015-02-24 15:57:31

0

爲什麼您的URL .sqllite?我希望.db的 - like here

jdbc:sqlite:C:/mydir/mydb.db 
+1

.sqlite是給使用基於firefox的sqlite管理器創建的sqlite數據庫的標準擴展。它通常不會產生任何問題,並且與.db一樣有效。我的問題在於我監督我複製了SQLite文件夾路徑前面的/。感謝您嘗試幫助! – Vortex 2015-02-24 15:41:01