使用ODBC访问openGauss(中)

表 4 Sslmode的可选项及其描述

ab9897f961701471f025c26685fa8a22.jpeg

说明: SSL模式: 保证client.key*系列文件为600权限: 退回根目录,创建.postgresql目录,并将root.crt,client.crt,client.key,client.key.cipher,client.key.rand,client.req,server.crt,server.key,server.key.cipher,server.key.rand,server.req放在此路径下。 Unix系统下,server.crt、server.key的权限设置必须禁止任何外部或组的访问,请执行如下命令实现这一点。

chmod 0600 server.key

将root.crt以及server开头的证书相关文件全部拷贝进数据库install/data目录下(与postgresql.conf文件在同一路径)。 修改postgresql.conf文件:

ssl = on
ssl_cert_file = 'server.crt'
ssl_key_file = 'server.key'
ssl_ca_file = 'root.crt'

修改完参数后需重启数据库。 修改配置文件odbc.ini中的sslmode参数(require或verify-ca)。

5、配置数据库服务器。

  1. 以操作系统用户omm登录数据库主节点。

  2. 执行如下命令增加对外提供服务的网卡IP或者主机名(英文逗号分隔),其中NodeName为当前节点名称:

gs_guc reload -N NodeName -I all -c "listen_addresses='localhost,192.168.0.100,10.11.12.13'"

在DR(Direct Routing,LVS的直接路由DR模式)模式中需要将虚拟IP地址(10.11.12.13)加入到服务器的侦听地址列表中。

listen_addresses也可以配置为“*”或“0.0.0.0”,此配置下将侦听所有网卡,但存在安全风险,不推荐用户使用,推荐用户按照需要配置IP或者主机名,打开侦听。

3、执行如下命令在数据库主节点配置文件中增加一条认证规则。(这里假设客户端IP地址为10.11.12.13,即远程连接的机器的IP地址)

gs_guc reload -N all -I all -h "host all jack 10.11.12.13/32 sha256"

说明

  • -N all表示openGauss中的所有主机。
  • -I all表示主机中的所有实例。
  • -h表示指定需要在“pg_hba.conf”增加的语句。
  • all表示允许客户端连接到任意的数据库。
  • jack表示连接数据库的用户。
  • 10.11.12.13/_32_表示只允许IP地址为10.11.12.13的主机连接。在使用过程中,请根据用户的网络进行配置修改。32表示子网掩码为1的位数,即255.255.255.255。
  • sha256表示连接时jack用户的密码使用sha256算法加密。

如果将ODBC客户端配置在和要连接的数据库主节点在同一台机器上,则可使用local trust认证方式,如下:

local all all trust

如果将ODBC客户端配置在和要连接的数据库主节点在不同机器上,则需要使用sha256认证方式,如下:

host all all xxx.xxx.xxx.xxx/32 sha256

重启openGauss。

gs_om -t stop
gs_om -t start

在客户端配置环境变量。

vim ~/.bashrc

在配置文件中追加以下内容。

export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
export ODBCSYSINI=/usr/local/etc
export ODBCINI=/usr/local/etc/odbc.ini

执行如下命令使设置生效。、

source ~/.bashrc


测试数据源配置

执行./isql -v MPPODBC(数据源名称)命令。

  • 如果显示如下信息,表明配置正确,连接成功。

+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL> 

  • 若显示ERROR信息,则表明配置错误。请检查上述配置是否正确。

开发流程

图 2 ODBC开发应用程序的流程

常用接口

表 5 相关API说明

a355ecd0fb6a4e3ad6efe0e5a871e074.jpeg

be21a1e224dad8762f776701eb92b37a.jpeg

说明: 数据库中收到的一次执行请求(不在事务块中),如果含有多条语句,将会被打包成一个事务,同时如果其中有一个语句失败,那么整个请求都将会被回滚。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值