问题标签 [odb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
43 浏览

mysql - 连接到正在运行的 MySQL 数据库

是否可以使用代码合成中的odb连接到正在运行的 MySQL 数据库并获得对现有表的读取访问权限?

详细说明:
我想连接到以下已经有一些表的数据库。
数据库名称:MyDB
用户:Michael
密码:123456
主机:192.168.1.9
端口:3306
表名:Age,...

例如,我想将 AgeInYears 列的最大值存储在一个简单的双精度中。

所有 odb 示例都从通过以下方式创建新数据库开始:
auto_ptr db (create_database (argc, argv))...

0 投票
0 回答
153 浏览

fedora - Fedora 中有哪些步骤可以从 git 构建更新的 odb 的源 rpm?

Fedora 23 提供了 odb-2.4.0 包。这个 git 仓库

可能是存在 Fedora 修改的源副本的地方。

上游 git repo 存在这里

我需要更新的上游版本,它不会因我拥有的某些代码而崩溃,而 odb 2.4 会。

我该如何着手构建和安装较新的版本,并且可能在上游进行更多提交之后,重建并重新安装较新的版本?我是否制作了一个源 rpm 并安装在我的机器上,另一个使用相同的 Fedora?

我在读

但是我不需要将这个包部署到fedora,我只是会使用RPM机制来方便安装未发布的版本?

我可以为此使用 COPR,添加我自己的 repo,然后从它安装吗?在 COPR 中,我可以重用 odb2.4.0 rpm 中的 SPEC 文件并将其更新到较新的 odb 吗?

0 投票
1 回答
267 浏览

c++ - Moving odb pragmas outside class header

Is way to move odb (c++ orm like framework) pragmas outside class header? For example I define class basic_object (abstract) with id only:

And then create pragmas for that class in another file

0 投票
0 回答
253 浏览

c++ - 如何在 Mac OS X 10.11 上构建 ODB

我正在尝试在 El Capitan 上构建 ODB。我对与 clang 相关的 xcode 版本感到困惑。

查看ODB 的 2.4.0 公告显示以下信息:

听起来很简单,所以我需要 Clang 3.5!

在我的 Mac 上,我运行以下命令

现在我很困惑,因为clang-602.0.53似乎与clang 3.5完全不同。

我在哪里可以获得 Clang 3.5 并使用它来构建 ODB?

0 投票
1 回答
1143 浏览

c++ - ODB C++示例中存储的sqlite数据库文件在哪里

我第一次使用 ODB:来自 Code Synthesis 的 C++ Object-Relational Mapping (ORM)。这是一个类似于 C# 的 .NET EntityFramework 的工具,它允许您通过 C++ 在各种关系数据库上执行创建、读取、更新和删除 (CRUD) 操作。我正在使用下载附带的示例文件熟悉该工具。我专门使用hello 示例通过 SQLite 数据库持久保存人员对象。

通过下载中的 INSTALL 和 README 文件遵循设置说明并执行driver.cxx程序后,我看到人员对象更改通过t.commit()文件中的命令提交到数据库。

我的问题是:一旦程序执行完毕,数据库存储在哪里?它是否存储在C:\Program Files\odb\odb-examples-2.4.0\hello\Release\driver.exe所在的 Release 文件夹中?它是否存储在我忽略的其他地方?

这是我的环境设置...

  1. 操作系统 = Windows 10 专业版
  2. IDE = Visual Studio 2015 社区
  3. SQLite =C:\Program Files\sqlite\sqlite-autoconf-3090200\sqlite3.c
  4. ODB 编译器 =C:\Program Files\odb\odb-2.4.0-i686-windows\bin\odb.exe
  5. ODB 运行时 =C:\Program Files\odb\libodb-2.4.0
  6. ODB Hello 示例 =C:\Program Files\odb\odb-examples-2.4.0\hello
  7. 示例 Visual Studio .sln 文件 =C:\Program Files\odb\odb-examples-2.4.0\examples-sqlite-vc12.sln

如果我可以提供更多信息,请告诉我,并感谢您的帮助。

0 投票
0 回答
52 浏览

c++ - libodb2.4 不支持容器中的容器,有什么解决方法吗?

我有一个需要使用 C++ 和 Qt 的项目。它还需要文件系统中的持久对象。我发现 libodb-2.4 是一个完美的解决方案。但是它不能直接支持容器中容器的值,但是项目中的数据结构必须与容器中的容器一起存储。

当前的解决方法是将容器中的容器值类型更改为持久存在于数据库中的对象类型,然后我可以将容器存储在容器中。但在那之后,我不得不为容器中的容器值管理更多的对象关系,并且项目变得更加复杂。

有没有其他解决方案或库可以解决这个问题?还是序列化要存储的对象是更好的解决方案?

例子:

我不能直接通过odb将C存储在sqlite中。

0 投票
1 回答
300 浏览

c++ - 带有 PostgreSQL bad_alloc 异常的 ODB

我试图在我的项目中使用 ODB。因此,我使用 VS2015 为他们的 odb 和 odb-pgsql 库编译 Windows 源代码,选择 Release 和 x64 配置。我从我的标准 postgres 安装(预构建的二进制文件 64 位)中链接了这些库。

我的项目由 cmake 和 QtCreator 管理。这是我使用的套件中的编译器设置。

QtCreator 中的套件配置

我建立了一个非常简单的项目来复制错误。这是 CMakeLists.txt

运行 cmake 将打印使用的编译器。

这里是 main.cpp

在编译期间,我已经收到令人困惑的警告。

编译器警告

在运行时,从修改后的路径 environemt 中找到 DLL

但是,我的程序会立即以 bad_alloc 异常终止。我调试了应用程序,这是我的调用堆栈。

调试期间的调用堆栈

仅当将字符串从 复制到局部user_变量时才会发生错误::odb::pgsql::database

如果我更深入地研究复制分配,我可以看到我的 main 传递的字符串没有真正设置,并且指向 0x0 从内存中读取随机值。

分配操作中的堆栈值

该应用程序将以下内容打印到我的终端。

我不奇怪得到bad_alloc这个_Num值,但我想知道为什么我的字符串搞砸了。我尝试了一些不同的编译器,例如amd64使用 UNICODE 和多字节字符集编译 odb、odb-pgsql,但没有任何帮助。至少使用amd64我没有得到上面提到的前 5 个警告。

0 投票
0 回答
112 浏览

scripting - 我可以为 abaqus 的 ODB 文件做子建模技术吗?

我有一个 ODB 文件,我想获得模型某些元素的结果。是否可以在 ODB 上进行子建模?如果是这样,我可以得到 abaqus 脚本吗?

0 投票
1 回答
381 浏览

c++ - ODB:包含带有通用声明的 *.hxx 文件时未解决的外部符号错误

我必须在我的项目中使用ODB 框架。我有 2 个文件:station.hxxcommon.hxx包含以下内容:

common.hxx

车站.hxx

这样做的原因:我想使用common.hxx在其他文件中声明的结构,所以我想将它们集中在同一个头文件中,并在我需要的任何地方包含它。我的问题:如果我这样做,我会收到如下链接器错误:

错误 LNK2019:未解析的外部符号“公共:静态 void __cdecl odb::access::composite_value_traits::bind(struct odb::mssql::bind *,struct odb::access::composite_value_traits::image_type &,enum odb:: mssql::statement_kind)" (?bind@?$composite_value_traits@UProcessAggregateName@@$03@access@odb@@SAXPAU0mssql@3@AAUimage_type@123@W4statement_kind@43@@Z) 在函数“public: static void __cdecl odb: :access::object_traits_impl::bind(struct odb::mssql::bind *,struct odb::access::object_traits_impl::image_type &,枚举 odb::mssql::statement_kind)" (?bind@?$object_traits_impl@ Vstation@@$03@access@odb@@SAXPAU0mssql@3@AAUimage_type@123@W4statement_kind@43@@Z)

错误 LNK2019:未解析的外部符号“公共:静态 void __cdecl odb::access::composite_value_traits::init(struct odb::access::composite_value_traits::image_type &,struct ProcessAggregateName const &,enum odb::mssql::statement_kind) " (?init@?$composite_value_traits@UProcessAggregateName@@$03@access@odb@@SAXAAUimage_type@123@ABUProcessAggregateName@@W4statement_kind@mssql@3@@Z) 在函数中引用 "public: static void __cdecl odb::access:: object_traits_impl::init(struct odb::access::object_traits_impl::image_type &,class station const &,enum odb::mssql::statement_kind)" (?init@?$object_traits_impl@Vstation@@$03@access@odb@ @SAXAAUimage_type@123@ABVstation@@W4statement_kind@mssql@3@@Z)

如果我直接复制 and 的声明ProcessAggregateName而不是 include ,一切都会好起来的。我做错了什么,如何在单个标头中声明常用结构并将其包含在多个 *.hxx 文件中?Reportingstation.hxxcommon.hxx

0 投票
1 回答
192 浏览

database - Oracle ODB - 嵌套表

我在表中创建新的嵌套对象时遇到问题。问题在最后一行。其余的进展顺利。错误:“PACJENT:无效的标识符”,当我放 NULL 时它可以工作,但我需要放新的 PACJENT。你能帮我吗 ?

PLACÓWKA

莱卡兹

PACJENT

巴达尼

错误: