引用:

ODB Download (codesynthesis.com)

Installing ODB on Linux/UNIX (codesynthesis.com)

缘起:

在开发过程中发现,现有的软件缺乏持久层(Persistence Layer),即专注于实现数据持久化应用领域的某个特定系统的一个逻辑层面,将数据使用者和数据实体相关联。

这导致一下几个问题:

一.在具体的操作数据库的时候,需要和复杂的SQL语句打交道

二.日益复杂的业务逻辑和数据逻辑耦合度比较高,导致代码逻辑不清晰

三.频繁的进行如下流程:

1、建立数据库连接,获得 Connection 对象。
2、根据用户的输入组装查询 SQL 语句。
3、根据 SQL 语句建立 Statement 对象 或者 PreparedStatement 对象。
4、用 Connection 对象执行 SQL语句,获得结果集 ResultSet 对象。
5、然后一条一条读取结果集 ResultSet 对象中的数据。
6、根据读取到的数据,按特定的业务逻辑进行计算。
7、根据计算得到的结果再组装更新 SQL 语句。
8、再使用 Connection 对象执行更新 SQL 语句,以更新数据库中的数据。
7、最后依次关闭各个 Statement 对象和 Connection 对象。

一.安装

按照官方提供的连接下载,安装./configure->make->make install

编译libodb-mysql的时候遇到了坑:

提示找不到MYSQL库

解决方案:修改./configure 文件,搜索libmysqlclient_paths

编译的时候提示找不到MYSQL的头文件

解决方案:

安装libmysqlclient

apt-get install libmysqlclient

然后make的时候又遇到:

查看 mysql.h

怀疑是编译器版本的问题:

需要修改odb/mysql/mysql-types.hxx

后面编译EXAMPLE的时候又遇到缺少xlocale的问题

这个时候需要重新编译odb可执行程序,编译的时候GCC版本不能太高,不然编译不过,这里尝试使用GCC-4.7

提示缺少头文件:fatal error: expat.h: No such file or directory

apt-get install libexpat1-dev

apt-get install --reinstall libexpat1=2.1.0-7ubuntu0.16.04.5(如果libexpat1版本不对)

编译odb-2.4的时候:

apt-get install libcutl-dev

apt-get -f install gcc-4.7-plugin-dev(这个版本似乎比较特殊,只有这个版本可以安装成功)

二.基本介绍

这玩意的基本架构:

ODB Compiler这个编译器是从gcc4.9.3版本改造出来的,这里面有个坑,见上

C++ 一文解决 数据库ODB 安装/调试/使用的问题相关推荐

  1. vc 调试mysql_MySQL数据库的安装调试和VC实现

    一.MySQL的安装 可以考虑安装mysql-5.0.41-win32(可到http://www.newhua.com/soft/3573.htm处下载),当然你有更新的版本更好,注意选择" ...

  2. 一文解决VS Code安装、C++环境配置、OpenCV配置

    前言    本文包括VScode安装.C++环境配置以及OpenCV配置全过程.VS Studio配置OpenCV比较简单,可以直接使用OpenCV官网已有的用VS Studio编译器编译好的Open ...

  3. 一文解决——linux免费安装typora

    文章目录 下载 安装 添加桌面标 右键打开 typora竟然收费了!! 下载 链接: https://pan.baidu.com/s/1a7xIoVAhooGD3NGYVDJgbA 提取码: wew7 ...

  4. 解决安装调试gym出现UserWarning: WARN: The environment Humanoid-v2 is out of date.

    安装调试gym出现UserWarning: WARN: The environment Humanoid-v2 is out of date. You should consider upgradin ...

  5. 试图运行项目时出错,无法启动调试。没有正确安装调试器--很多次都是上网找了很多资料,都很难解决

    试图运行项目时出错,无法启动调试.没有正确安装调试器.请运行安装程序安装或修复调试器 收藏 对于这样的问题,出现很多次,很多次都是上网找了很多资料,都很难解决,只好重装IIS或者是.NET. 通过网上 ...

  6. MySQL数据库多种安装方法及企业级安装实践

    本文来自老男孩老师第三本书籍著作<老男孩的MySQL私房菜>第三章内容分享! 3.1 MySQL数据库的安装方法及选择 在当今的互联网企业里,MySQL数据库大多运行在Linux系列操作系 ...

  7. MySQL5.6数据库多种安装方法及企业级安装实践

    本文来自老男孩老师第三本书籍著作<老男孩的MySQL私房菜>第三章内容分享! 3.1 MySQL数据库的安装方法及选择 在当今的互联网企业里,MySQL数据库大多运行在Linux系列操作系 ...

  8. Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试

    Win10 64位系统下PCL + Visual Studio + cmake + (Qt) 安装调试 在这里只介绍all in one方式安装 1.软件准备 安装pcl(点云库)需要涉及pcl.pc ...

  9. Python 开发工具集:关于文档、测试、调试、程序的优化和分析

    Python 开发工具集:关于文档.测试.调试.程序的优化和分析 原文    http://segmentfault.com/a/1190000000410521 Python已经演化出了一个广泛的生 ...

最新文章

  1. 如何通过netstat命令判断是否遭受Dos功击?遭到DDoS该如何缓解?
  2. python装饰器作用-Python装饰器详解
  3. 【PC工具】更新百度网盘高速下载工具——亿寻使用方法及注意事项
  4. mac安装telnet 超简单 复制telnet文件即可
  5. 项目总结(二)-一些常用的工具浅谈
  6. python echo服务器_python常用框架 echo server 的测试
  7. IOC操作Bean管理XML方式(注入外部bean)
  8. vue element form 自定义校验1(字段校验)
  9. Mysql for Linux安装配置之——二进制安装
  10. NGUI里的sprite和label有白色的边框
  11. band math函数_波段运算(bandmath)工具中常用的函数
  12. solidworks钣金件设计术语creo/ug适用
  13. e-target与e-currentTarget的区别
  14. [Power--IC]电源管理IC-STNS01
  15. 公开课丨大厂前端初级到高级技术体系
  16. 细思恐极的星座分析(上) ——用大数据和机器学习揭开十二星座的真实面目!
  17. 搭档之家:哭唧唧!暗地较劲得不偿失,美团暂停支付宝后被无情反超
  18. android 各种服务介绍,Android 网络服务介绍
  19. TCP/IP卷一:20---链路层之(环回地址)
  20. Intel体系MMX指令指令说明

热门文章

  1. 关于投资与投机、基金
  2. 中国黑色金属行业十四五产量需求及发展战略规划研究报告2021版
  3. Oracle的SQL性能优化
  4. oracle数据前面补0,Oracle 数字前面自动补0
  5. 二元关系的关系性质判断
  6. 什么是奇异矩阵与非奇异矩阵
  7. 中南4月16号网络同步赛
  8. 模拟股票涨跌功能(jquery应用4)
  9. pku 2251 Dungeon Master 基本BFS
  10. 苹果电脑系统还原出现服务器,苹果电脑恢复出厂设置【应对方向】