lak*_*man 9 java sql postgresql connection
我可以使用jdbc:postgresql://host:port/databasejdbc驱动程序连接到postgresql服务器中的数据库.
但我想连接到postgresql服务器并在那里找到数据库列表.当我使用时jdbc:postgresql://localhost:5432,我得到一个叫做的例外
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost:5432
Run Code Online (Sandbox Code Playgroud)
是否有任何其他驱动程序或任何方法来获取服务器的连接,而不知道服务器中的数据库名称并在那里查询数据库列表?
lak*_*man 12
好.我已经把它想出来了.我可以使用此字符串通过jdbc驱动程序连接到服务器.
jdbc:postgresql://localhost:5432/?
并可以使用此代码段来获取数据库列表
private void listDownAllDatabases() {
try {
PreparedStatement ps = connection
.prepareStatement("SELECT datname FROM pg_database WHERE datistemplate = false;");
ResultSet rs = ps.executeQuery();
while (rs.next()) {
System.out.println(rs.getString(1));
}
rs.close();
ps.close();
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
参考资料:我使用这个dba stackexchange答案来获取所有数据库列表