2013-07-27 72 views
1

我是postgreSQL的新手,並且正在尋找與java應用程序一起使用postgres。我不知道爲什麼,但我無法找到db文件的位置存儲在postgres中的位置,並搜索到任何可以想象的地方。我用查詢show data_directory;從那裏我做了一個在C驅動器上的搜索,找不到它。有什麼方法我需要在Java中引用它?有沒有postgres通常存儲數據的默認位置?我試過「jdbc:postgresql://我的IP地址:5432 /和我的數據庫名稱」。我試圖使用在展會data_directory查詢給出的位置在這裏是堆棧跟蹤輸出無法找到數據庫位置

Connection Failed! Check output console 
java.sql.SQLException: invalid database address: jdbc::C:/postgreSQL/9.2/data/spetmodb.db 
    at org.sqlite.JDBC.createConnection(JDBC.java:74) 
    at org.sqlite.JDBC.connect(JDBC.java:64) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at databaseManip.Dbmanipbase.addUserToDB(Dbmanipbase.java:81) 
    at Kapowmainn.main(Kapowmainn.java:20) 

我希望我能提供更多的幫助,但如果你有任何問題,我會很樂意回答。

回答

2

顯然你是Java和JDBC的新手。您不通過文件訪問PostgreSQL或任何其他關係數據庫;你可以使用java.sql包和JDBC來完成。您需要JDBC tutorialPostgreSQL JDBC driver JAR。下載它,把它放在你的CLASSPATH中,並且connect this way

確保PostgreSQL偵聽器已啓動並正在運行,並在端口5432上偵聽。在命令shell中鍵入netstat -a以查看是否爲真。

確保您可以使用PostgreSQL管理控制檯連接到數據庫。如果它不能連接,Java也不能。

我建議發佈你的代碼(如果它足夠小)。這會讓你更容易看到你做錯了什麼。

+0

感謝您的幫助,我能夠正常工作。 –

+0

有什麼不同?你改變了什麼?對解決方案的不太關心可能會在某一天幫助別人。 – duffymo

+0

我使用的路徑不正確。使用pg_hba.config文件中列出的IP地址和服務器端口號,我能夠連接到數據庫示例:jdbc:postgresql://hba.config ip address:port#/ databasename,「role username」,role密碼「。我也在使用錯誤的jdbc驅動程序。我下載了postgresql jdbc驅動程序,但使用了sqlite jdbc驅動程序。 –