基于开发者空间编写ODBC应用程序操作OpenGauss数据库

举报
空间案例小助手 发表于 2025/08/05 09:50:10 2025/08/05
【摘要】 通过实际操作,让大家深入了解如何利用云主机开发C程序应用,并操作和部署OpenGauss数据库。在这个过程中,大家将学习到从驱动安装、环境编码、函数应用到OpenGauss数据库部署以及与 ODBC API集成等一系列关键步骤,从而掌握 ODBC连接数据库的基本使用方法,体验其在应用开发中的优势。

📖 案例概览

        本案例选择C语言应用程序作为示例,并借助开发者空间云主机提供的OpenEuler环境,通过UnixODBC驱动管理层和OpenGauss数据库ODBC驱动,连接和操作数据库中数据,实现业务应用与数据库的互通。

📰 背景与简介

        公司业务项目中大量商业数据需要高效管理,并进行读取,修改,写入,删除等操作,离不开数据库系统对业务数据的支持。故在企业开发商业软件时,代码绕不开与数据库的关联。为了解决该问题,各数据库厂商提供了软件研发中针对不同开发语言的驱动。例如很多使用C语言研发的基础软件在使用不同的数据库时,各数据库都有对应的C语言驱动API,像Oracle的OCI,PostgreSQL的Libpq,MySQL的Connectore C等。但由于不同数据库厂商提供的专项C语言开发接口都不同,导致在商业软件开发时面对不同Database的驱动接口,需要开发对应数据库的接口代码,故增加了开发复杂性和可维护性,且对数据库的可移植性构成巨大挑战。所以数据库厂商为解决跨数据库链接问题,提供了早期的嵌入式SQL API。但这些驱动库存在不规范导致的兼容性问题。为改善访问不同数据库,缺乏基于C语言的统一编程接口,1991年MicroSoft提出开放式数据库互连(Open-DataBase-Connectivity)。在后面发展历程中,ODBC基于SAG的SQL CAE方案,具有强大的功能和灵活性,其包含标准的错误代码集,连接和登录数据库方法及数据类型表示等关键特性。故ODBC解决方案逐渐成为Windows, MacOS, Linux平台上的标准接口,并推动该方面的开放性和标准化。

        通过实际操作,让大家深入了解如何利用云主机开发C程序应用,并操作和部署OpenGauss数据库。在这个过程中,大家将学习到从驱动安装、环境编码、函数应用到OpenGauss数据库部署以及与 ODBC API集成等一系列关键步骤,从而掌握 ODBC连接数据库的基本使用方法,体验其在应用开发中的优势。

        🎯 案例优势:ODBC是程序开发中最基础的接口驱动,但是早期用的最多的API。原因是微软统一了C/C++操作数据库的接口,所以ODBC可以应对所有不同的数据库,采用同一套API,让应用系统在不需要修改代码的情况下,同时操作各种不同的数据库。

🕹️ 案例流程


001.PNG

📃 流程说明

    1. 根据案例OpenGaussDB在开发者空间云主机里的部署,在云主机中部署与启动OpenGauss数据库服务。
    2. 下载安装UnixODBC驱动管理器。
    3. 下载GaussDB对应的ODBC驱动。
    4. 适配UnixODBC驱动管理器参数,使isql能与GaussDB连接成功。
    5. 编写C/C++程序代码,应用ODBCAPI操作GaussDB数据库并读写数据。

✍️ 案例实操:体验完整案例请点这里 👉️👉️👉️  基于开发者空间编写ODBC应用程序操作OpenGauss数据库

    1. 登录开发者空间云主机,安装部署GaussDB数据库。
    2. 安装unixODBC驱动管理器。
    3. 下载GaussDB对应版本的ODBC驱动程序。
    4. 适配ODBC驱动管理器unixODBC并测试。
    5. 编写C/C++程序代码,通过ODBC接口操作GaussDB数据库,并编译运行。
    6. 通过GaussDB客户端gsql,登录数据库后台,查询程序写入和修改的数据内容,确保程序数据读写成功。

🌈 案例最终结果

002.PNG

0021.png


【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。