我正在使用SSH隧道连接从Windows 7计算机连接到远程Postgres数据库。
当我使用pgAdmin连接到远程数据库时,隧道工作正常。但是,我还没有设法建立ODBC DSN来连接到远程数据库。
我正在使用与pgAdmin相同的服务器地址/用户名/密码/端口/ ssl模式创建系统DSN,但是当我单击“测试”时,我得到:“无法连接到服务器;无法建立连接,因为目标机器积极拒绝它。“
关于从何处开始调试的任何想法?我排除了Windows防火墙和远程服务器配置,因为我可以连接pgAdmin中完全相同的信息。
修改
重新安装Windows后问题自行解决。
答案 0 :(得分:0)
调试时,首先要做的是使用psql命令行实用程序开始测试PostgreSQL服务器。这可以避免驱动程序等问题,看看实际发生了什么。一般来说,我的故障排除过程是:
现在,假设问题出现在#2上,我要做的第一件事就是尝试禁用双方的防火墙(尝试两者都可以启动并调整它们)。这排除了行为不当的防火墙,如果它表明这是一个问题,那么你就可以在哪里进行故障排除。
根据我的经验,Windows防火墙可能会导致各种问题。我甚至看到它在网页中途阻止网页。我认为你不能根据你提供的信息排除Windows防火墙。
如果再次发生这种情况,首先要做的事情包括禁用任何防病毒软件和防火墙。
另一种可能性是错误的ODBC配置(可能是端口5423而不是5432)或某种安装严重的DLL。后者可以使用sfc /scannow
修复(或不修复)或重新安装odbc驱动程序或其他操作。