【发布时间】:2016-05-22 02:16:23
【问题描述】:
我在使用 IntelliJ 和 JDBC 连接到托管在服务器上的数据库时遇到问题。用命令行,命令:
ssh username@server -L 11100:ct1:28017 -N
创建隧道成功,命令:
psql db_name -h localhost -p 11100 db_username
很好地连接到数据库并允许我使用它。如何将其正确转换为 IntelliJ 数据源和 SSH 隧道工具?
目前,对于我的 SSH 隧道设置:
代理主机:服务器
端口:22
代理用户:用户名
对于我有的常规标签:
主机:本地主机
端口:28017
数据库:db_name
用户:db_username
测试连接后连接成功返回。在我的程序中,我有:
Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:28017/db_name", user, password);
URL 参数是 IntelliJ 生成的参数。然而,这给了我一个错误“连接到 localhost:28017 被拒绝。”
关于我做错了什么有什么想法吗?
【问题讨论】:
-
端口
28017打开了吗? -
@Andremoniy 在服务器上,是的,它是打开的。
-
看起来您在本地使用端口 11100 进行 SSH 隧道,这是您需要在连接字符串中指定的端口号(就像您在
psql db_name -h localhost -p 11100 db_username中所做的一样)。
标签: java jdbc intellij-idea ssh ssh-tunnel