【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

简介: 【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)

关注 “测试开发自动化” 公众号,获取更多学习内容

一、前置条件

  1. 下载libpqxx【github传送门】
  2. 安装CMake工具【CMke传送门】
  3. 下载PostgreSQL【PostgreSQL传送门】

二、安装PostgreSQL工具

点击下载,直接安装即可。过程中出现的插件选择64位即可。那些都不重要。

安装完成后如下:

关注 “测试开发自动化” 公众号,获取更多学习内容

三、编译libpqxx库

  1. 从Github下载至本地,在文件夹下解压。
  2. 管理员方式运行CMake软件(必须以管理员方式运行,否则可能会报错),填写Where is the source code 和 Where to build the binaries 如下:

  1. 点击Configure 和 Generate 按钮
  2. 回到D:/libpqxx-master 路径下会生成一个build文件夹。

  3. 使用管理员模式启动visual studio,打开libpqxx.sln工程文件(必须用管理员模式,否则后面构建会报错)

  4. 右键ALL_BUILD >> 属性 >> 常规 >> C++通用标准 >> 最新C++ ,点击确定。

  5. 设置为Release X64,分别右键INSTALL >> 生成,PACKAGE >> 生成,pqxx >> 生成。

  6. build目录下会生成一个_CPack_Packages文件夹

关注 “测试开发自动化” 公众号,获取更多学习内容

四、Visual Studio配置测试

新建自己的工程,属性中需要配置如下内容:

1)C/C++ >> 附加包含目录添加:

D:\libpqxx-master\build_CPack_Packages\win64\TGZ\libpqxx-7.8.0-win64\include

2)链接器 >> 附加库目录添加:

D:\PostgreSQL\15\lib

D:\libpqxx-master\build_CPack_Packages\win64\TGZ\libpqxx-7.8.0-win64\lib

3)链接器 >> 输入 >> 附加依赖项 添加:

pqxx.lib

libpq.lib

ws2_32.lib

wsock32.lib

4)测试程序

#include <iostream>
#include <pqxx/pqxx>
int main() {
    try {
        // 用您的云PostgreSQL数据库信息替换以下内容
        std::string connection_string =
           "host=your_host_name user=your_user_name password=your_password dbname=your_database_name port=your_port_number";
        pqxx::connection connection(connection_string);
        if (connection.is_open()) {
            std::cout << "Successfully connected to the PostgreSQL database." << std::endl;
        }
        else {
            std::cout << "Cannot open the PostgreSQL database." << std::endl;
            return 1;
        }
        pqxx::work transaction(connection);
        // 在这里执行您的数据库操作
        pqxx::result result = transaction.exec("SELECT * FROM  your_table_name");
        for (const auto& row : result) {
            for (const auto& column : row) {
                std::cout << column.c_str() << " ";
            }
            std::cout << std::endl;
        }
        transaction.commit();
        //connection.disconnect();
    }
    catch (const std::exception& e) {
        std::cerr << "Error: " << e.what() << std::endl;
        return 1;
    }
    return 0;
}

关注 “测试开发自动化” 公众号,获取更多学习内容


相关文章
|
11月前
|
API C++ Windows
Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法
本文介绍Visual C++运行库、.NET Framework和DirectX运行库的作用及常见问题解决方案,涵盖MSVCP140.dll丢失、0xc000007b错误等典型故障的修复方法,提供官方下载链接与系统修复工具使用指南。
2221 2
|
C++ Windows
.NET Framework安装不成功,下载`NET Framework 3.5`文件,Microsoft Visual C++
.NET Framework常见问题及解决方案汇总,涵盖缺失组件、安装失败、错误代码等,提供多种修复方法,包括全能王DLL修复工具、微软官方运行库及命令行安装等,适用于Windows系统,解决应用程序无法运行问题。
1715 3
|
11月前
|
IDE 编译器 开发工具
msvcp100.dll,msvcp120.dll,msvcp140.dll,Microsoft Visual C++ 2015 Redistributable,Visual C++ 运行库安装
MSVC是Windows下C/C++开发核心工具,集成编译器、链接器与调试器,配合Visual Studio使用。其运行时库(如msvcp140.dll)为程序提供基础函数支持,常因缺失导致软件无法运行。通过安装对应版本的Microsoft Visual C++ Redistributable可解决此类问题,广泛应用于桌面软件、游戏及系统级开发。
1288 2
|
并行计算 C++ Windows
|
Oracle 关系型数据库 Linux
YashanDB异构数据库链接配置
本指南介绍在YashanDB中配置异构数据库链接(DBLINK)的方法,特别是连接至Oracle数据库的前置要求与步骤。需确保YashanDB服务端安装plugin插件包、Oracle Instant Client及libaio库,否则可能导致错误或进程崩溃。文档还提供了Oracle Instant Client和libaio库的具体安装指导,帮助管理员顺利完成配置。
|
安全 编译器 C++
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
这些是Microsoft Visual C++不同版本的Redistributable安装包,用于32位系统,确保相关应用正常运行。它们提供C++运行时环境,简化部署流程,支持第三方库及框架,并确保应用兼容性。定期更新可修复问题并引入新功能。在空间有限或需解决程序冲突时可考虑删除,但需谨慎操作以防影响应用稳定性和兼容性。删除前请确认无应用依赖,并通过控制面板安全卸载。
4238 1
Microsoft Visual C++ Redistributable的作用主要体现以及可以删除吗?
|
Java 关系型数据库 数据库连接
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第3天】Spring Boot项目中数据库连接问题可能源于配置错误或依赖缺失。YAML配置文件的格式不正确,如缩进错误,会导致解析失败;而数据库驱动不匹配、连接字符串或认证信息错误同样引发连接异常。解决方法包括检查并修正YAML格式,确认配置属性无误,以及添加正确的数据库驱动依赖。利用日志记录和异常信息分析可辅助问题排查。
1700 11
|
数据库连接 网络安全 数据库
网站链接数据库失败,重启网站好了
网站链接数据库失败,重启网站好了
|
Java 关系型数据库 MySQL
SpringBoot项目使用yml文件链接数据库异常
【10月更文挑战第4天】本文分析了Spring Boot应用在连接数据库时可能遇到的问题及其解决方案。主要从四个方面探讨:配置文件格式错误、依赖缺失或版本不兼容、数据库服务问题、配置属性未正确注入。针对这些问题,提供了详细的检查方法和调试技巧,如检查YAML格式、验证依赖版本、确认数据库服务状态及用户权限,并通过日志和断点调试定位问题。
1992 6

推荐镜像

更多