Postgres ODBC:连接“主动拒绝”

时间:2011-03-09 11:42:01

标签: windows postgresql networking odbc database-connection

我正在使用SSH隧道连接从Windows 7计算机连接到远程Postgres数据库。

当我使用pgAdmin连接到远程数据库时,隧道工作正常。但是,我还没有设法建立ODBC DSN来连接到远程数据库。

我正在使用与pgAdmin相同的服务器地址/用户名/密码/端口/ ssl模式创建系统DSN,但是当我单击“测试”时,我得到:“无法连接到服务器;无法建立连接,因为目标机器积极拒绝它。“

关于从何处开始调试的任何想法?我排除了Windows防火墙和远程服务器配置,因为我可以连接pgAdmin中完全相同的信息。

修改

重新安装Windows后问题自行解决。

1 个答案:

答案 0 :(得分:0)

调试时,首先要做的是使用psql命令行实用程序开始测试PostgreSQL服务器。这可以避免驱动程序等问题,看看实际发生了什么。一般来说,我的故障排除过程是:

  1. 我可以ping服务器吗?
  2. 我可以用psql连接吗?
  3. 当我通过控制面板测试我的连接时,它是否有效?
  4. 现在,假设问题出现在#2上,我要做的第一件事就是尝试禁用双方的防火墙(尝试两者都可以启动并调整它们)。这排除了行为不当的防火墙,如果它表明这是一个问题,那么你就可以在哪里进行故障排除。

    根据我的经验,Windows防火墙可能会导致各种问题。我甚至看到它在网页中途阻止网页我认为你不能根据你提供的信息排除Windows防火墙。

    如果再次发生这种情况,首先要做的事情包括禁用任何防病毒软件和防火墙。

    另一种可能性是错误的ODBC配置(可能是端口5423而不是5432)或某种安装严重的DLL。后者可以使用sfc /scannow修复(或不修复)或重新安装odbc驱动程序或其他操作。