前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OushuDB-编程接口 - libpq

OushuDB-编程接口 - libpq

作者头像
用户7454708
发布2023-05-08 11:45:19
4390
发布2023-05-08 11:45:19
举报
文章被收录于专栏:宗恩

编程接口 - libpq 获取连接 数据查询和数据操纵 终止连接 libpq是PostgreSQL的 C应用程序接口。Libpq 由相关库函数组成,可以允许客户端程序通过将查询传递 给 PostgreSQL 后台服务器并接收这些查询返回的结果。同时,libpq 也是其它几个 PostgreSQL 应用程 序接口的基础引擎,包括 C++,Perl,Python,Tcl和ECPGC编程的嵌入式 SQL。OushuDB与 PostgreSQL兼容,同样可以通过libpq来进行数据库连接和数据操纵。 获取连接 一个应用程序同时可以有多个打开的连接,这也是 PostgreSQL 服务器能够同时访问多个库的原因。每 一个连接都通过 PGconn 对象表示,该对象可以从函数 PQconnectdb,PQconnectdbParams 中或者 PQsetdbLogin 获取信息。需要注意的是,这些对象通常返回一个非空的对象指针。除非由于内存太小 导致无法分配 PGconn 对象。PQstatus 函数用来检查在执行查询前连接是否成功的状态。 在要使用libpq连接OushuDB数据库之前,首先要引用libpq的头文件libpq-fe.h。 然后创建连接字符串和PGconn结构体,设定连接字符串后就可以通过连接字符串获取连接了,例如: 这里使用了PQconnectdb函数来创建一个连接到数据库服务器的新连接 注意如果这里缺省连接关键字的话,libpq将使用缺省关键字的默认值进行连接,连接关键字的默认值可 以参考官方手册。 在连接过程中,在libpq中也提供了判断连接是否成功建立的接口:连接状态函数 PQstatus 这个函数返回一个连接的状态,在异步连接过程之外可以返回两个状态:CONNECTION_OK 和 CONNECTION_BAD。若连接到数据库正常则返回 CONNECTION_OK,否则返回 CONNECTION_BAD。通常一个 OK 的状态将会持续到执行 PQfinish。 于是,我们可以通过下面的语句来进行连接状态的查询和处理,并通过PQerrorMessage()函数来返回最 近连接时出现的错误信息:

const char *conninfo; PGconn *conn; conninfo = "host=127.0.0.1 port=5433 dbname=postgres user=oushu"; conn = PQconnectdb(conninfo); ConnStatusType PQstatus(const PGconn *conn); if (PQstatus(conn) != CONNECTION_OK) {

代码语言:javascript
复制
   fprintf(stderr, "Connection to database failed: %s",
           PQerrorMessage(conn));

exit_nicely(conn);//关闭连接并执行清理操作 } 这里如果连接不成功的话会返回服务端返回的错误message,如果成功的话后面就可以通过conn操作数 据库了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-05-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档