我有一个到PostgreSQL的远程服务器的SSH连接,我想在我的代码中使用它来插入/更新数据。我可以通过数据库连接(在IntelliJ右侧->数据库中)连接到它。但是如何仅使用此SSH连接执行对该数据库的查询呢?现在,我正在尝试通过Driver
访问它:
postGresConn = DriverManager.getConnection(dbURL, dbUsername, dbPassword);
并像这样使用它:
private void loadPostgreDriver() {
try {
Class.forName("org.postgresql.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
private void getConnection() {
try {
postGresConn = DriverManager.getConnection(dbURL, dbUsername, dbPassword);
} catch (SQLException e) {
e.printStackTrace();
}
}
public LinkedList<LinkedList<String>> queryDB(String query) {
LinkedList<LinkedList<String>> result = new LinkedList<LinkedList<String>>();
Statement statement = null;
ResultSet resultSet = null;
try {
statement = postGresConn.createStatement();
resultSet = statement.executeQuery(query);
/*** More code here ***/
}
}
但是我的postgresConnn
失败了,因为我想在没有SSH的情况下尝试连接它。如何解决?
答案 0 :(得分:0)
您不需要ssh连接即可连接到远程Postgres数据库。
SSH连接可用于远程命令行执行,或者在某些情况下可用于建立TCP / IP通信隧道。
据您所知,远程主机上的Postgres端口5432已打开,因为您可以使用IntelliJ进行连接。