2017-11-17 5 views
0

存在しない、私は次のコードを使用してデータベースに接続しようとしている:PostgreSQLのJDBC:FATAL:データベースは

import java.sql.SQLException; 
import java.sql.DriverManager; 
import java.sql.Connection; 
import java.sql.Statement; 
import java.sql.ResultSet; 

public class Model { 

     Connection connection; 

     Model() { 

       try { 
         connection = DriverManager.getConnection("jdbc:postgresql:localhost:5432/deliverp", "kais", "0000"); 
       } 
       catch (SQLException e) { 
         e.printStackTrace(); 
       } 
     } 

     static { 

       try { 
         Class.forName("org.postgresql.Driver"); 
       } 
       catch (ClassNotFoundException e) { 
         e.printStackTrace(); 
       } 
     } 

     public boolean addClient(Object data[]) { 

       return true; 
     } 
} 

しかし、Javaプログラムを実行した後、私は次のスタックトレースを受け取る:

Nov 17, 2017 8:58:24 AM org.postgresql.Driver connect 
SEVERE: Connection error: 
org.postgresql.util.PSQLException: FATAL: database "localhost:5432/deliverp" does not exist 
     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477) 
     at org.postgresql.core.v3.QueryExecutorImpl.readStartupMessages(QueryExecutorImpl.java:2603) 
     at org.postgresql.core.v3.QueryExecutorImpl.<init>(QueryExecutorImpl.java:125) 
     at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:227) 
     at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 
     at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) 
     at org.postgresql.Driver.makeConnection(Driver.java:450) 
     at org.postgresql.Driver.connect(Driver.java:252) 
     at java.sql.DriverManager.getConnection(DriverManager.java:664) 
     at java.sql.DriverManager.getConnection(DriverManager.java:247) 
     at Model.<init>(Model.java:16) 
     at DelivERP.<init>(DelivERP.java:42) 
     at DelivERP.main(DelivERP.java:104) 

org.postgresql.util.PSQLException: FATAL: database "localhost:5432/deliverp" does not exist 
     at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2477) 
     at org.postgresql.core.v3.QueryExecutorImpl.readStartupMessages(QueryExecutorImpl.java:2603) 
     at org.postgresql.core.v3.QueryExecutorImpl.<init>(QueryExecutorImpl.java:125) 
     at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:227) 
     at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49) 
     at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:194) 
     at org.postgresql.Driver.makeConnection(Driver.java:450) 
     at org.postgresql.Driver.connect(Driver.java:252) 
     at java.sql.DriverManager.getConnection(DriverManager.java:664) 
     at java.sql.DriverManager.getConnection(DriverManager.java:247) 
     at Model.<init>(Model.java:16) 
     at DelivERP.<init>(DelivERP.java:42) 
     at DelivERP.main(DelivERP.java:104) 

[email protected]:~/Documents/DelivERP$ psql deliverp 
psql (9.6.4) 
Type "help" for help. 

deliverp=> \d 
      List of relations 
Schema |  Name  | Type | Owner 
--------+----------------+-------+---------- 
public | BusinessEntity | table | postgres 
public | Client   | table | postgres 
public | Company  | table | postgres 
public | Order   | table | postgres 
public | Product  | table | postgres 
(5 rows) 

deliverp=> 

それは私に聞こえる:

は、したがって、私は下のテストを実行して、データベースが存在することを確認したかったですサーバーが存在していてもデータベースを見つけられなかったのは奇妙です。

+1

あなたのURLが間違っている、それは 'JDBCする必要があります:postgresqlの:// localhostを:5432/deliverp'は(' '//の点に注意してください。 localhostの前に)。 –

+0

@MarkRotteveelはい、そうです。 – Kais

答えて

2

あなたは試すことができます:

connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/deliverp", "kais", "0000"); 

または

connection = DriverManager.getConnection("jdbc:postgresql:deliverp", "kais", "0000"); 
+0

それはURLの問題でした..それを指摘してくれてありがとう - 問題は解決しました:) – Kais

関連する問題