华为云云数据库GaussDBWindows下配置数据源_云淘科技
Windows操作系统自带ODBC数据源管理器,无需用户手动安装管理器便可直接进行配置。
操作步骤
替换客户端GaussDB驱动程序。
根据需要,将包名为GaussDB-Kernel_数据库版本号_Windows_Odbc_X64.tar.gz的64位驱动或包名为GaussDB-Kernel_数据库版本号_Windows_Odbc_X86.tar.gz的32位驱动解压后,点击psqlodbc.exe进行驱动安装。
打开驱动管理器。
在配置数据源时,请使用ODBC版本对应的ODBC驱动管理器(如果使用64位ODBC驱动,必须要使用64为的ODBC驱动管理器,假设操作系统安装盘符为C盘,如果是其他盘符,请对路径做相应修改):
如果需要在64位操作系统使用32位ODBC驱动请使用:C:\Windows\SysWOW64\odbcad32.exe,请勿直接使用“控制面板 > 管理工具 > 数据源(ODBC)”。
WOW64的全称是”Windows 32-bit on Windows 64-bit”,C:\Windows\SysWOW64\存放的是64位系统上的32位运行环境。而C:\Windows\System32\存放的是与操作系统一致的运行环境,具体的技术信息请查阅Windows的相关技术文档。
32位操作系统请使用:C:\Windows\System32\odbcad32.exe,或者点击“计算机 > 控制面板 > 管理工具 > 数据源(ODBC)”打开驱动管理器。
64位操作系统请使用:控制面板 > 管理工具 > 数据源(ODBC) 打开驱动管理。
配置数据源。
在打开的驱动管理器上,选择“用户DSN > 添加 > PostgreSQL Unicode”,然后进行配置:
参数说明参考Linux下配置数据源文件参数配置。
其中点击Datasource可以选择配置是否打印日志:
此界面上配置的用户名及密码信息,将会被记录在Windows注册表中,再次连接数据库时就不再需要输入认证信息。但是出于安全考虑,建议在单击”Save”按钮保存配置信息前,清空相关敏感信息;在使用ODBC的连接API时,再传入所需的用户名、密码信息。
SSL模式。
将步骤2中的设置窗口的“SSL Mode”选项调整至“require”。
sslmode |
是否会启用SSL加密 |
描述 |
---|---|---|
disable |
否 |
不使用SSL安全连接。 |
allow |
可能 |
如果数据库服务器要求使用,则可以使用SSL安全加密连接,但不验证数据库服务器的真实性。 |
prefer |
可能 |
如果数据库支持,那么首选使用SSL安全加密连接,但不验证数据库服务器的真实性。 |
require |
是 |
必须使用SSL安全连接,但是只做了数据加密,而并不验证数据库服务器的真实性。 |
verify-ca |
是 |
必须使用SSL安全连接,并且验证数据库是否具有可信证书机构签发的证书。当前windows ODBC不支持cert方式认证。 |
verify-full |
是 |
必须使用SSL安全连接,在verify-ca的验证范围之外,同时验证数据库所在主机的主机名是否与证书内容一致。当前windows ODBC不支持cert方式认证。 |
配置GaussDB服务器。具体操作请联系管理员。
执行如下命令重启集群。
gs_om -t stop gs_om -t start
测试数据源配置
点击Test进行测试。
如果显示如下,则表明配置正确,连接成功。
若显示ERROR信息,则表明配置错误。请检查上述配置是否正确。
常见问题处理
connect to server failed: no such file or directory
此问题可能的原因:
配置了错误的/不可达的数据库地址,或者端口
请检查数据源配置中的Servername及Port配置项。
服务器侦听不正确
如果确认Servername及Port配置正确,请根据“操作步骤”中数据库服务器的相关配置,确保数据库侦听了合适的网卡及端口。
防火墙及网闸设备
请确认防火墙设置,将数据库的通信端口添加到可信端口中。
如果有网闸设备,请确认一下相关的设置。
The password-stored method is not supported.
此问题可能原因:
数据源中未配置sslmode配置项,请调整此项至allow或以上级别,允许SSL连接,此选项的更多说明,请见表1。
authentication method 10 not supported.
使用开源客户端碰到此问题,可能原因:
数据库中存储的口令校验只存储了SHA256格式哈希,而开源客户端只识别MD5校验,双方校验方法不匹配报错。
数据库并不存储用户口令,只存储用户口令的哈希码。
数据库当用户更新用户口令或者新建用户时,会同时存储两种格式的哈希码,这时将兼容开源的认证协议。
但是当老版本升级到新版本时,由于哈希的不可逆性,所以数据库无法还原用户口令,进而生成新格式的哈希,所以仍然只保留了SHA256格式的哈希,导致仍然无法使用MD5做口令认证。
MD5加密算法安全性低,存在安全风险,建议使用更安全的加密算法。
要解决该问题,可以更新用户口令(参见ALTER USER);或者新建一个用户(参见CREATE USER),赋于同等权限,使用新用户连接数据库。
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.
目标CN的pg_hba.conf里配置了当前客户端IP使用”gss”方式来做认证,该认证算法不支持用作客户端的身份认证,请修改到”sha256″后再试。配置方法见5。
父主题: 基于ODBC开发
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家