【关键字】libpq PQconnectdb pg_service.conf
概述
本文介绍Libpq使用数据库连接接口,通过服务名访问数据库的三种方式。具体方法见下文。
方法一:配置环境变量,调用PQconnectdb
1.添加环境变量
export KINGBASE_SERVICEFILE=`pwd`/pg_service.conf
2.调用
const char *conninfo;
conninfo = "service=kingbase";
conn = PQconnectdb(conninfo);
方式二:在指定路径下,创建.pg_service.conf
1. 当前用户在/home/ks,在当前路径中创建文件.pg_service.conf,添加连接信息如下:
[kingbase]
user=SYSTEM
password=123456
host=192.168.28.152
port=54330
dbname=TEST
2.或者添加配置文件路径环境变量
export KINGBASE_SYSCONFDIR=’配置文件路径’
方式三:使用PQsetdbLogin连接方式,传入服务名和配置文件全路径+配置文件名
dbname = "service=kingbase servicefile=/home/xjjia/code/v8r6_libpq/pg_service.conf";
conn = PQsetdbLogin("192.168.28.152","54330","",NULL,dbname,NULL,NULL);
调用PQsetdbLogin时,如果采用读取配置文件的方式,则传入第五个参数,必须采用dbname变量中的方式;如果dbname中的值为空,则必须保证设置了环境变量:
export KINGBASE_SERVICEFILE =`pwd`/pg_service.conf (配置文件路径+文件名)
export KINGBASE_SERVICE=kingbase (服务名)