C++ODB支持不同的DBMS

C++ ODB Support Different DBMS

本文关键字:DBMS 支持 C++ODB      更新时间:2023-10-16

我一直在研究ODB ORM一段时间,并进行了一些练习。我的问题是在不同的DBMS之间切换重新编译代码。从我的Java背景中,我可以简单地更改配置文件,ORM可以工作,例如Hibernate。到目前为止,我可以在"odb-examples-2.2.0.tar.gz"下编译"hello"示例,并成功连接到MySQL和PostgreSQL。

请分享您解决此问题的方法。代码示例也将非常有帮助。我想通过更改配置文件来简单地更改数据库。到目前为止,参考手册还没有帮助。我的系统需要跨平台。

谢谢。

如果动态支持对您来说足够了,那么以下示例就可以解决问题。在编译其他文件之前需要以下命令行:

odb --std c++11 --multi-database dynamic -d common -d mysql -d sqlite 
--generate-query --generate-schema person.hxx

在我的示例中,我像在手册 (2.10) 中一样使用命令行。从我所读到的内容来看,当你使用 odb::query, odb::transaction 时,你不需要做任何其他特殊的事情来处理多个数据库。