ODBC 密码不起作用

问题

只要在密码文本框中进行输入,IWSA 总是报告“成功连接到数据库”。

原因

从 IWSA 服务器访问 PostgreSQL 数据库时,IWSA 假定 PostgreSQL 值为 "trust"。从 IWSA 计算机自身的 IWSA 控制台为 ODBC 服务器输入的任何密码将是 "successful",设计就是这样的。

解决方案

如果您使用 IWSA 服务器上的 PostgreSQL 数据库,则可以通过将 PostgreSQL 认证方法从 "trust" 更改为 "password" 来更改此缺省行为,如下所述:

  1. 建立与 IWSA 服务器的 SSH 会话。

  2. 使用所显示的文本驱动的 IWSA 菜单打开 Linux shell。

  3. 更改目录,如下所示:

cd /var/iwss/postgres/pgdata

  1. 使用文本编辑器(如 vi)打开数据库配置文件 pg_hba.conf,按如下所示编辑 METHOD 变量:

# TYPE  DATABASE  USER  IP-ADDRESS   IP-MASK         METHOD

  host    all     all   10.2.1.0  255.255.255.255   password

  1. 更改为数据库守护程序目录,通过重新启动守护程序(如下所示)指示 postmaster 重新读取已更新的 pg_hba.conf 文件,然后退出 shell 和 SSH 会话。

/usr/iwss/S99Isdatabase reload