精华内容
下载资源
问答
  • odb

    2019-07-01 19:51:12
    https://www.codesynthesis.com/products/odb/
    展开全文
  • 将abaqus odb文件转化为vtk文件
  • odb文件工具

    2018-10-12 15:32:53
    支持.odb文件打开,编辑,保存。
  • ODB简介

    千次阅读 2021-03-09 14:54:26
    官方参考文档 本文档内容是自己学习的一个记录,内容来自官方...ODB是什么? ODB可以直接把C++的类对象映像成关系型数据库对象。 架构和工作流程 Hello World Example 头文件: // file : hello/person.hxx // copyri

    官方参考文档

    本文档内容是自己学习的一个记录,内容来自官方文档
    https://www.oschina.net/p/odb-orm?hmsr=aladdin1e1
    https://www.codesynthesis.com/products/odb/doc/manual.xhtml#1

    ODB是什么?

    ODB可以直接把C++的类对象映像成关系型数据库对象。

    架构和工作流程

    在这里插入图片描述
    在这里插入图片描述

    Hello World Example

    头文件:

    // file      : hello/person.hxx
    // copyright : not copyrighted - public domain
    
    #ifndef PERSON_HXX
    #define PERSON_HXX
    
    #include <string>
    #include <cstddef> // std::size_t
    
    #include <odb/core.hxx>
    
    // 定义class person为persistence class
    #pragma db object
    class person
    {
    public:
      person (const std::string& first,
              const std::string& last,
              unsigned short age): first_ (first), last_ (last), age_ (age)
      {
      }
    
      const std::string&
      first () const
      {
        return first_;
      }
    
      const std::string&
      last () const
      {
        return last_;
      }
    
      unsigned short
      age () const
      {
        return age_;
      }
    
      void
      age (unsigned short age)
      {
        age_ = age;
      }
    
    private:
      // 定义友元函数,odb可以访问私有的默认构造函数
      friend class odb::access;
      // 定义默认构造函数用于odb编译器生成support code
      person () {}
    
      // 定义数据库的key值,并且这个key是database自生长的
      #pragma db id auto
      unsigned long id_;
    
      std::string first_;
      std::string last_;
      unsigned short age_;
    };
    
    // 定义class person_stat 为 class person的view
    // view
    #pragma db view object(person)
    struct person_stat
    {
      #pragma db column("count(" + person::id_ + ")")
      std::size_t count;
    
      #pragma db column("min(" + person::age_ + ")")
      unsigned short min_age;
    
      #pragma db column("max(" + person::age_ + ")")
      unsigned short max_age;
    };
    
    #endif // PERSON_HXX
    
    

    应用文件:

    // file      : hello/driver.cxx
    // copyright : not copyrighted - public domain
    
    #include <memory>   // std::auto_ptr
    #include <iostream>
    
    #include <odb/database.hxx>
    #include <odb/transaction.hxx>
    
    #include "database.hxx" // create_database
    
    #include "person.hxx"
    #include "person-odb.hxx"
    
    using namespace std;
    using namespace odb::core;
    
    int
    main (int argc, char* argv[])
    {
      try
      {
        auto_ptr<database> db (create_database (argc, argv));
    
        unsigned long john_id, joe_id;
    
        // Create a few persistent person objects.
        //
        {
          person john ("John", "Doe", 33);
          person jane ("Jane", "Doe", 32);
          person joe ("Joe", "Dirt", 30);
    
          transaction t (db->begin ());
    
          // Make objects persistent and save their ids for later use.
          //
          john_id = db->persist (john);
          db->persist (jane);
          joe_id = db->persist (joe);
    
          t.commit ();
        }
    
        typedef odb::query<person> query;
        typedef odb::result<person> result;
    
        // Say hello to those over 30.
        //
        {
          transaction t (db->begin ());
    
          result r (db->query<person> (query::age > 30));
    
          for (result::iterator i (r.begin ()); i != r.end (); ++i)
          {
            cout << "Hello, " << i->first () << " " << i->last () << "!" << endl;
          }
    
          t.commit ();
        }
    
        // Joe Dirt just had a birthday, so update his age.
        //
        {
          transaction t (db->begin ());
    
          auto_ptr<person> joe (db->load<person> (joe_id));
          joe->age (joe->age () + 1);
          db->update (*joe);
    
          t.commit ();
        }
    
        // Alternative implementation without using the id.
        //
        /*
        {
          transaction t (db->begin ());
    
          // Here we know that there can be only one Joe Dirt in our
          // database so we use the query_one() shortcut instead of
          // manually iterating over the result returned by query().
          //
          auto_ptr<person> joe (
            db->query_one<person> (query::first == "Joe" &&
                                   query::last == "Dirt"));
    
          if (joe.get () != 0)
          {
            joe->age (joe->age () + 1);
            db->update (*joe);
          }
    
          t.commit ();
        }
        */
    
        // Print some statistics about all the people in our database.
        //
        {
          transaction t (db->begin ());
    
          // The result of this (aggregate) query always has exactly one element
          // so use the query_value() shortcut.
          //
          person_stat ps (db->query_value<person_stat> ());
    
          cout << endl
               << "count  : " << ps.count << endl
               << "min age: " << ps.min_age << endl
               << "max age: " << ps.max_age << endl;
    
          t.commit ();
        }
    
        // John Doe is no longer in our database.
        //
        {
          transaction t (db->begin ());
          db->erase<person> (john_id);
          t.commit ();
        }
      }
      catch (const odb::exception& e)
      {
        cerr << e.what () << endl;
        return 1;
      }
    }
    
    

    编译,生成Database Support Code

    odb -d mysql --generate-query person.hxx  // 仅示例
    

    生成:
    person-odb.hxx, person-odb.ixx, person-odb.cxx

    编译,生成database schema

    odb -d mysql --generate-query --generate-schema person.hxx
    

    这个命令除了生成上面的person-odb.hxx, person-odb.ixx, person-odb.cxx,还会生成
    person.sql, which is the database schema for the persistent classes defined in person.hxx.

    编译、链接生成应用程序。

    • 编译
    c++ -c driver.cxx
    c++ -c person-odb.cxx
    
    • 链接
    c++ -o driver driver.o person-odb.o -lodb-mysql -lodb
    
    • 创建database schema,使用前面生成的.sql文件
    mysql --user=odb_test --database=odb_test < person.sql
    
    • 运行程序
    ./driver --user odb_test --database odb_test
    
    展开全文
  • allegro odb++插件

    2020-02-07 01:42:35
    allegro odb++插件 allegro odb++插件 allegro odb++插件 allegro odb++插件
  • NeoDatis ODB-开源

    2021-05-12 21:01:00
    NeoDatis ODB是新一代的面向对象数据库。 ODB是Java,.Net,Groovy,Scala和Google Android的真正的本机和透明持久层。 ODB非常简单且非常快速,并带有强大的查询语言。
  • odb2-戳 使用各种 odb2 设备放置的各种项目。
  • odb的官方介绍文档, 通过odb作为中间件使用数据库,简化数据库操作
  • ODB++ 官方说明文档

    2020-12-24 09:26:53
    ODB++ 格式说明
  • odb-manual.zip

    2020-04-11 14:19:40
    开源odb用户手册,官方资料全英文版,有需要的小伙伴可以获取,原汁原味英文官方指导资料,网络关于ODB相关的资料缺失很少,希望对需要的人有帮助
  • odb示例DEMO

    2014-09-28 10:25:20
    odb示例DEMO,仅供大家参考交流……
  • ODB++插件allogro

    2019-05-30 22:08:12
    allegro odb++插件,可以在windows上使用。ODB++inside 是在由Valor Ltd 1992开发类别 Miscellaneous Shareware 软件
  • odb C++框架依赖包

    2018-04-20 17:18:29
    ODB: C++ Object-Relational Mapping (ORM) odb C++框架依赖包
  • ODB++ spec

    2018-09-29 09:16:10
    ODB++数据资源的最新描述,适应于致力基于ODB++开发的人员
  • 交叉编译odb

    2021-01-21 13:48:46
    odb odb-sqlite 交叉编译 1.官网下载源码 ​ https://www.codesynthesis.com/products/odb/download.xhtml 下载 libodb-2.4.0 odb源码 libodb-sqlite-2.4.0 sqlite 支持插件源码 编译器可以直接下载 odb-2.4.0-i686...

    odb odb-sqlite 交叉编译

    1.官网下载源码

    ​ https://www.codesynthesis.com/products/odb/download.xhtml 下载

    在这里插入图片描述

    libodb-2.4.0 odb源码

    libodb-sqlite-2.4.0 sqlite 支持插件源码

    编译器可以直接下载 odb-2.4.0-i686-windows 安装得到odb.exe 在win平台生成通过xxx.hxx 生成xxx-odb.hxx xxx-odb.cxx xxx-odb.ixx

    2.交叉编译libodb

    cd到源码根目录

    ./configure --host=arm-linux-gnueabihf \ (指定平台)

    CXX=arm-linux-gnueabihf-g++ \ (指定g++)

    CC=arm-linux-gnueabihf-gcc \ (指定gcc)

    –prefix=/root/share/xxx/output/debug (指定输出目录)

    无错误则 make && make install 安装到/opt/odb make后在 .libs 文件夹下就有所有库文件

    在这里插入图片描述

    3.交叉编译libodb-sqlite-2.4.0 需先将sqlite3 编译好

    ./configure \

    CPPFLAGS=-I/root/share/xxx/src/3rdparty/libodb-2.4.0/odb \ (指定odb头文件)

    LDFLAGS="-L/root/share/xxx/src/3rdparty/libodb-2.4.0/odb/.libs -ldl" \ (指定odb生成库路径 -ldl 是因为我的libsqlite3.so 需要链接dl库 否则在configure 时会报错编译不过里面的脚本导致提示libsqlite3找不到…)

    –host=arm-linux-gnueabihf CXX=arm-linux-gnueabihf-g++ CC=arm-linux-gnueabihf-gcc \

    –with-libodb=/root/share/xxx/src/3rdparty/libodb-2.4.0 \ (指定odb源码路径)

    –prefix=/root/share/xxx/output/debug (指定输出目录)

    无错误则 make && make install make后在 .libs 文件夹下就有所有库文件

    e && make install make后在 .libs 文件夹下就有所有库文件

    在这里插入图片描述

    展开全文
  • ABAQUS Python Script中Odb处理手册1 Odb操作命令:1.1 Odb对象1.1.1进入Odb对象的途径import odbAccesssession.odbs[name]1.1.2 Odb()该方法创建一个新的Odb对象,格式为:session.Odb()A.必须参数1)name:用于指定...

    ABAQUS Python Script

    Odb

    处理手册

    1 Odb

    操作命令:

    1.1 Odb

    对象

    1.1.1

    进入

    Odb

    对象的途径

    import odbAccess

    session.odbs[

    name

    ]

    1.1.2 Odb()

    该方法创建一个新的

    Odb

    对象,格式为:

    session.Odb()

    A.

    必须参数

    1)

    name

    :用于指定生成的

    Odb

    对象的名称

    B.

    选填参数

    1)

    analysisTitle

    :用于指定输出数据库的标题的字符串,默认值为空的字符串;

    2)

    description

    :用于描述输出数据库的字符串,默认值也为空的字符串;

    3)

    path

    :用于指定输出数据库的路径,默认值也为空的字符串;

    C.

    返回值

    返回一个

    Odb

    对象

    1.1.3 close()

    该方法用于关闭一个输出数据库。

    【注】:该方法无返回值,也无参数。

    1.1.4 getFrame()

    该方法返回指定时间的

    frame

    该方法不适用于在不同分析步具有不同模型

    Odb

    文件。

    A.

    必须参数

    frameValue

    :用于指定需要哪个

    frame

    的浮点数,该值可以是

    total time

    B.

    选填参数

    match

    符号常量,

    用于指定假如没有找到

    frameValue

    所指定的

    frame

    哪个

    frame

    被返回,可能取值为:

    CLOSES

    T、BEFORE、AFTER、EXACT,默

    认值为:CLOSEST

    展开全文
  • ODB 我的R在台湾南大海洋研究所海洋数据库(ODB)工作 BioQuery:与Shiny App集成的开放式API前端,用于生物查询(BioQuery) - ?map ...
  • odb-2.4.0-i686-windows.zip

    2021-08-06 16:21:39
    odb windows
  • odb-examples-2.4.0.zip

    2021-08-06 16:22:05
    odb-examples-2.4.0.zip
  • ODB Examples

    2017-07-30 22:41:00
    The following list gives an overview of the examples available in the odb-examples package. Each example is linked to its source code in the r...
  • ODB++ 官方文档

    2019-01-11 10:27:31
    odb++ 官方文档,适合参考。官网下载需要注册比较麻烦
  • I want to access an ODB file (made with LibreOffice Base) in Python and extract a table for further use. The ODB contains several tables, one relation design and several forms.Is it possible to achiev...
  • Candence 输出ODB++ 一、到出ODB++ step1 step2 step3 step4 step5 step6 step7 二、Hyplynx导入ODB++ 1 文件–>打开 ODB++ 2 选择文件夹
  • 1.odb事务odb事务有如下接口namespace odb { class transaction { public: typedef odb::database database_type; typedef odb::connection connection_type; explicit transaction (transaction_impl*, b...
  • userscript_odb.py

    2020-12-20 14:18:42
    用于提取abaqus 结果文件odb的支反力位移
  • ODB for mysql

    2021-06-07 16:51:47
    ODB 下载安装 安装下载首页 1.下载 安装 odb-2.4.0 、libodb-2.4.0、libodb-mysql-2.4.0 2. MySQL官方C开发库 / c++开发库 注:只用这个即可同时开发C++程序 作用:这个是MySQL官方提供的用于C开发程序读写MySQL提供...
  • I want to access an ODB file (made with LibreOffice Base) in Python and extract a table for further use. The ODB contains several tables, one relation design and several forms.Is it possible to achiev...
  • 1.odb包括三部分 odb编译器,odb运行库libodb,特定的数据库相关的链接库。 odb编译器生成应用程序需要的持久化对象的代码。odb编译器是一个真正的c++编译器除了它产生的是c++代码而不是机器码。2.使用步骤1)声明...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,470
精华内容 1,388
关键字:

ODB