数据仓库服务 GAUSSDB(DWS)-Windows下配置数据源:常见问题处理

时间:2024-04-18 16:24:35

常见问题处理

  • Server common name "xxxx" does not match host name "xxxxx"

    此问题的原因是使用了SSL加密的“verify-full”选项,这时驱动程序会验证证书中的主机名与实际部署数据库的主机名是否一致。碰到此问题可以使用“verify-ca”选项,不再校验主机名;或者重新生成一套与数据库所在主机名相同的CA证书。

  • connect to server failed: no such file or directory

    此问题可能的原因:

    • 配置了错误的/不可达的数据库地址,或者端口

      请检查数据源配置中的Servername及Port配置项。

    • 服务器监听不正确

      如果确认Servername及Port配置正确,请根据“操作步骤”中数据库服务器的相关配置,确保数据库监听了合适的网卡及端口。

    • 防火墙及网闸设备

      请确认防火墙设置,将数据库的通信端口添加到可信端口中。

      如果有网闸设备,请确认相关的设置。

  • 在指定的DSN中,驱动程序和应用程序之间的体系结构不匹配

    此问题可能的原因:在64位程序中使用了32位驱动,或者相反。

    C:\Windows\SysWOW64\odbcad32.exe:这是32位ODBC驱动管理器。

    C:\Windows\System32\odbcad32.exe:这是64位ODBC驱动管理器。

  • The password-stored method is not supported.

    此问题可能原因:

    数据源中未配置sslmode配置项,请调整此项至allow或以上级别,允许SSL连接,此选项的更多说明,请见表1

  • authentication method 10 not supported.

    使用开源客户端碰到此问题,可能原因:

    数据库中存储的口令校验只存储了SHA256格式哈希,而开源客户端只识别MD5校验,双方校验方法不匹配报错。

    • 数据库并不存储用户口令,只存储用户口令的哈希码。
    • 早期版本(V100R002C80SPC300之前的版本)的数据库只存储了SHA256格式的哈希,并未存储MD5的哈希,所以无法使用MD5做用户口令校验。
    • 新版本(V100R002C80SPC300及之后版本)的数据库当用户更新用户口令或者新建用户时,会同时存储两种格式的哈希码,这时将兼容开源的认证协议。
    • 但是当老版本升级到新版本时,由于哈希的不可逆性,所以数据库无法还原用户口令,进而生成新格式的哈希,所以仍然只保留了SHA256格式的哈希,导致仍然无法使用MD5做口令认证。

    要解决该问题,参见以下操作:

    1. 将数据库参数password_encryption_type修改为1,修改方法参见修改数据库参数
    2. 新建一个数据库用户用于连接,或者重置准备使用的数据库用户的密码。
      • 如果您使用的是管理员账号,参见重置密码
      • 如果是普通用户,可以先通过其他客户端工具(例如Data Studio)连接数据库后,使用ALTER USER语句来修改密码。
    3. 再尝试连接数据库。
  • unsupported frontend protocol 3.51: server supports 1.0 to 3.0

    目标数据库版本过低,或者目标数据库为开源数据库。请使用对应版本的数据库驱动连接目标数据库。

  • FATAL: GSS authentication method is not allowed because XXXX user password is not disabled.

    或:GSSAPI authentication not supported.

    目标CN的pg_hba.conf里配置了当前客户端IP使用“gss”方式来做认证,该认证算法不支持用作客户端的身份认证,请修改到“sha256”后再试。

    同时请注意,数据库当前不支持在集群内跨节点连接数据库,如果是在集群内跨节点连接CN出现此问题,请将业务程序调整到集群外后重试。

support.huaweicloud.com/devg-830-dws/dws_04_0120.html