千家信息网

C++如何连接PostgreSQL数据库

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,这篇文章主要介绍"C++如何连接PostgreSQL数据库"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C++如何连接PostgreSQL数据库"文章能帮助大
千家信息网最后更新 2024年11月23日C++如何连接PostgreSQL数据库

这篇文章主要介绍"C++如何连接PostgreSQL数据库"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"C++如何连接PostgreSQL数据库"文章能帮助大家解决问题。

安装

最新版本的libpqxx可从链接下载:Libpqxx下载。 所以下载最新版本,并按照以下步骤:

wget http://pqxx.org/download/software/libpqxx/libpqxx-4.0.tar.gztar xvfz libpqxx-4.0.tar.gzcd libpqxx-4.0./configuremakemake install

Shell

在开始使用C/C++的PostgreSQL接口之前,请在PostgreSQL安装目录中找到pg_hba.conf文件,并添加以下行:

# IPv4 local connections:host    all         all         127.0.0.1/32          md5

Shell

可以启动/重新启动postgres服务器,使用以下命令运行:

[root@host]# service postgresql restartStopping postgresql service:                               [  OK  ]Starting postgresql service:                               [  OK  ]

Shell

C/C++连接到PostgreSQL数据库

以下C代码段显示如何连接到端口5432上本地机器上运行的现有数据库。在这里,我使用反斜杠\行继续。

#include #include  using namespace std;using namespace pqxx;int main(int argc, char* argv[]){   try{  connection C("dbname=testdb user=postgres password=cohondob \      hostaddr=127.0.0.1 port=5432");  if (C.is_open()) { cout << "Opened database successfully: " << C.dbname() << endl;  } else { cout << "Can't open database" << endl; return 1;  }  C.disconnect ();   }catch (const std::exception &e){  cerr << e.what() << std::endl;  return 1;   }}

C

现在,我们编译并运行上面的程序来连接到数据库testdb,它已经在你的架构中可用,可以使用用户postgres和密码为:pass123进行访问。 您可以根据数据库设置使用用户名和密码。记住保持-lpqxx-lpq在给定的顺序! 否则,链接器将抱怨关于缺少以"PQ"开头的名称的函数。

$g++ test.cpp -lpqxx -lpq$./a.outOpened database successfully: testdb

Shell

创建表

以下C代码段将用于在之前创建的数据库(testdb)中创建一个表:

#include #include  using namespace std;using namespace pqxx;int main(int argc, char* argv[]){   char * sql;   try{  connection C("dbname=testdb user=postgres password=cohondob \      hostaddr=127.0.0.1 port=5432");  if (C.is_open()) { cout << "Opened database successfully: " << C.dbname() << endl;  } else { cout << "Can't open database" << endl; return 1;  }  /* Create SQL statement */  sql = "CREATE TABLE COMPANY("  \      "ID INT PRIMARY KEY     NOT NULL," \      "NAME           TEXT    NOT NULL," \      "AGE            INT     NOT NULL," \      "ADDRESS        CHAR(50)," \      "SALARY         REAL );";  /* Create a transactional object. */  work W(C);  /* Execute SQL query */  W.exec( sql );  W.commit();  cout << "Table created successfully" << endl;  C.disconnect ();   }catch (const std::exception &e){  cerr << e.what() << std::endl;  return 1;   }   return 0;}

关于"C++如何连接PostgreSQL数据库"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0