我正在尝试使用以下代码连接到数据库:
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)
因此,我想通过运行以下测试来确保数据库存在:
kais@debian:~/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=>
在我看来,服务器没有找到数据库,尽管它存在,这听起来很奇怪..
有什么想法吗?
你可以试试:
connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/deliverp", "kais", "0000");
或者
connection = DriverManager.getConnection("jdbc:postgresql:deliverp", "kais", "0000");
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句