GoGPT Best VPN GoSearch

OnWorks 网站图标

odb - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 odb

这是 odb 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


odb - C++ 的对象关系映射 (ORM) 编译器

概要


ODB [ 选项 ] 文件 [ 文件... ]

商品描述


给定头文件中的一组 C++ 类, ODB 生成 C++ 代码,允许您
在关系数据库 (RDBMS) 中持久化、查询和更新这些类的对象。 这
生成的代码应该针对的关系数据库是用所需的
- 数据库 选项(见下文)。

对于表单中的输入文件 名称.hxx (可以使用其他文件扩展名代替
.hxx),在单库模式下(默认),生成的C++文件默认有
以下名称: 名称-odb.hxx (头文件), 名称-odb.ixx (内联文件),和 姓名-
odb.cxx (源文件)。 此外,如果 --生成模式 选项被指定并且
SQL 请求模式格式(请参阅 --模式格式),则 名称.sql 数据库模式文件是
生成。 如果 分开 请求模式格式,数据库创建代码为
生成到单独的 名称-schema.cxx 文件中。

在多数据库模式下(参见 --多数据库 下面的选项),生成的文件
对应于该 常见 数据库具有与单数据库模式相同的名称。
对于其他数据库,文件名包括数据库名称: 名称-odb-db.hxx, 名称-odb-
db.ixx, 名称-odb-db.cxx, 姓名-db.sql名称-架构-db.cxx (哪里 db 是数据库
姓名)。

配置


- 帮帮我 打印使用信息并退出。

- 版
打印版本并退出。

-I DIR 添加 DIR 到要搜索的目录列表的开头包括
头文件。

-D 姓名[=DEF]
定义宏 姓名 有定义 DEF. 如果省略定义,则定义 姓名 成为
1.

-U 姓名
取消任何以前的宏定义 姓名,无论是内置的还是随附的
-D 选项。

- 数据库|-d db
生成代码 db 数据库。 有效值为 MSSQL, MySQL的, 神谕, pgSQL的,
轻石常见 (仅限多数据库模式)。

--多数据库|-m 类型
启用多数据库支持并指定其类型。 此选项的有效值
旨在 静止动态.

在多数据库模式下,确定种类的选项(例如, --架构-
格式)、名称(例如, --odb-文件后缀),或内容(例如,序言
和结语选项)的输出文件可以以数据库名称为前缀
后跟一个冒号,例如, mysql:值. 这限制了这样一个的价值
选项仅适用于与此数据库对应的生成文件。

--默认数据库 db
当使用静态多数据库支持时,指定应该使用的数据库
设为默认值。 当使用动态多数据库支持时, 常见 总是
设为默认数据库。

--生成查询|-q
生成查询支持代码。 没有这种支持,您将无法使用视图,只能
通过它们的 id 加载对象。

--生成准备
生成准备好的查询执行支持代码。

--省略未准备
省略未准备(一次性)查询执行支持代码。

--生成会话|-e
生成会话支持代码。 使用此选项会话支持将被启用
所有持久类的默认值,除了那些明确指定的持久类
禁用使用 db 会议 语用。

--生成模式|-s
生成数据库模式。 数据库模式包含 SQL 语句
创建存储文件中定义的持久类所必需的数据库表
正在编译。 请注意,通过应用此架构,所有现有信息
存储在这样的表中会丢失。

取决于正在使用的数据库(- 数据库 选项),生成模式
作为独立的 SQL 文件或嵌入到生成的 C++ 代码中。 默认情况下
为 MySQL、PostgreSQL、Oracle 和 Microsoft SQL 生成 SQL 文件
服务器数据库和模式嵌入到 SQLite 的 C++ 代码中
数据库。 使用 --模式格式 选项来更改默认架构格式。

如果启用了数据库模式演化支持(即对象模型版本
被指定),那么这个选项也会触发数据库模式的生成
迁移语句,同样作为独立的 SQL 文件或嵌入到
生成的 C++ 代码。 您可以抑制模式迁移语句的生成
通过指定 --抑制迁移 选项。

--仅生成模式
仅生成数据库模式。 请注意,此选项仅在以下情况下有效
将模式生成为独立的 SQL 文件(请参阅 --模式格式 了解详细信息)。

--抑制迁移
抑制数据库模式迁移语句的生成。

--抑制架构版本
抑制模式版本表的生成。 如果您指定此选项,则
您还需要手动指定数据库架构版本和迁移
在运行时使用状态 odb::数据库::schema_version() 功能。

--架构版本表 姓名
指定替代模式版本表名称而不是默认值
模式版本. 如果您指定此选项,那么您还需要手动
在运行时使用
odb::数据库::schema_version_table() 功能。 可以限定表名。

--模式格式 格式
以指定的格式生成数据库模式。 经过 SQL as 格式
将数据库模式生成为独立的 SQL 文件或传递 嵌入式 嵌入
schema 到生成的 C++ 代码中。 这 分开 值类似于 嵌入式
除了模式创建代码生成到一个单独的 C++ 文件中(姓名-
模式.cxx 默认情况下)。 如果您想放置
模式创建功能到一个单独的程序或库中。 重复这个
以多种格式生成相同数据库模式的选项。

--省略删除
忽略 下降 来自生成的数据库模式的语句。

--省略创建
忽略 CREATE 来自生成的数据库模式的语句。

--模式名称 姓名
使用 VHDL 语言编写 姓名 作为数据库模式名称。 模式名称主要用于
区分模式目录中的多个嵌入式模式。 他们不是
与指定的数据库模式(数据库命名空间)混淆
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 --模式 选项。 如果未指定此选项,则为空名称,即
使用默认模式名称。

--fkeys-延迟模式 m
使用约束检查模式 m 在为对象关系生成的外键中。
此选项的有效值为 不可延期, 即时延期的 (默认)。
MySQL 和 SQL Server 不支持延迟外键和这些数据库
此类密钥生成时已注释掉。 ODB 生成的其他外键
编译器(例如用于支持容器和多态层次结构的编译器)
总是生成为不可延期。

另请注意,如果您使用 不可延期 or 即时 模式,然后顺序
在其中持久化、更新和擦除事务中的对象变成
重要。

--默认指针 PTR
使用 VHDL 语言编写 PTR 作为持久对象和视图的默认指针。 对象和视图
没有分配有指针的 db 指针 pragma 将使用这个
默认为指针。 该选项的值可以是 * 这表示原始指针
and 是智能指针类模板的默认名称或限定名称,用于
例, 标准::auto_ptr. 在后一种情况下,ODB 编译器构造对象
或视图指针通过将对象或视图类型的单个模板参数添加到
限定名称,例如 std::auto_ptr. ODB 运行时使用对象
并查看要返回的指针,如果是对象,则动态传递和缓存
对象和视图类型的分配实例。

除了原始指针和标准智能指针中定义的
头文件,您应该包括默认指针的定义
生成的头文件的开头。 有两种常见的实现方式
这:您可以在正在编译的文件中包含必要的头文件,或者您
可以使用 --hxx-序言 添加必要的选项 的#include 指令
生成的代码。

--会话类型 类型
使用 VHDL 语言编写 类型 作为替代会话类型而不是默认类型 odb::会话。 这
选项可用于指定要使用的自定义会话实现
持久的类。 请注意,您还需要包括定义
自定义会话类型到生成的头文件中。 这通常是通过
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 --hxx-序言* 选项​​。

- 轮廓|-p 姓名
指定应在编译期间使用的配置文件。 个人资料是一个选项
文件。 ODB 编译器首先查找具有名称的特定于数据库的版本
通过附加构造 -数据库。选项 后缀 姓名,在 Moku:Pro 上 数据库 is
指定的数据库名称 - 数据库 选项。 如果这个文件不是
找到,然后 ODB 编译器查找名称为的与数据库无关的版本
通过仅附加 。选项 后缀。

在与 C++ 相同的目录集中搜索配置文件选项文件
标头包含在 的#include <...> 指令(内置路径加上那些
指定 -I 选项)。 选项文件首先在
目录本身,然后在其 数据库/ 子目录。

有关选项文件的格式,请参阅 --选项文件 下面的选项。 你
可以重复此选项以指定多个配置文件。

--立刻
为所有输入文件以及它们输入的所有文件生成代码
立即包括在内。 结果是一组源/模式文件,其中包含所有
生成的代码。 如果与此一起指定了多个输入文件
选项,然后 --输入名称 还必须指定选项以提供
输出文件的基本名称。 在这种情况下,这种基础的目录部分
name 用作组合文件的位置。 这对于
的#include 指令性决议。

--模式 架构
指定应分配给
正在编译的文件中的持久类。 数据库模式不是
与指定的数据库模式名称(模式目录名称)混淆
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 --模式名称 选项。

--导出符号 符号
插页 符号 在 DLL 导出/导入控制语句的地方
(__declspec(dllexport/dllimport)) 是必要的。 另见 --extern-符号
下面的选项。

--extern-符号 符号
If 符号 已定义,将其插入模板实例化必须存在的位置
声明 外部. 此选项通常与 --导出符号 ,尤其是
启用了多数据库支持和查询。

--标准 版本
指定编译期间应使用的 C++ 标准。 有效值为
C ++ 98 (默认), C ++ 11C ++ 14.

--警告硬添加
警告硬添加的数据成员。

--警告硬删除
警告硬删除的数据成员和持久类。

--警告-硬
对硬添加和硬删除的数据成员和持久类发出警告。

--输出目录|-o DIR
将生成的文件写入 DIR 而不是当前目录。

--输入名称 姓名
使用 VHDL 语言编写 姓名 而不是输入文件来派生生成的文件的名称。 如果
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 --立刻 选项被指定,那么目录部分 姓名 用作
合并文件的位置。 参考 --立刻 详细信息的选项。

--变更日志 文件
从/到读取/写入更改日志 文件 而不是默认的更改日志文件。 这
默认更改日志文件名是从输入文件名派生的,它被放置
进入与输入文件相同的目录。 请注意, --输出目录 选项确实
不影响更改日志文件位置。 换句话说,默认情况下,更改日志
文件被视为另一个输入而不是输出,即使 ODB 编译器
可以修改它。 使用 --更改登录--更改登出 指定选项
不同的输入和输出 changeglog 文件。

--更改登录 文件
从中读取更改日志 文件 而不是默认的更改日志文件。 如果这个选项是
指定,那么您还必须指定输出 chanegelog 文件 --变更日志-
.

--更改登出 文件
将变更日志写入 文件 而不是默认的更改日志文件。 如果这个选项是
指定,那么您还必须指定输入的更改日志文件 --变更日志-
in.

--changelog-目录 DIR
使用 VHDL 语言编写 DIR 而不是输入文件目录作为更改日志文件目录。 这个
目录也被添加到用 --变更日志,
--更改登录--更改登录 选项,除非它们是绝对路径。

--init-变更日志
强制重新初始化变更日志,即使存在(所有现有的
更改历史记录将丢失)。 此选项主要用于自动化
测试。

--odb-文件后缀 后缀
使用 VHDL 语言编写 后缀 构造生成的 C++ 文件的名称。 在单
数据库模式此选项的默认值为 -odb. 在多数据库模式下
它是 -odb 对于对应的文件 常见 数据库和 -odb-db (哪里 db
是其他数据库的数据库名称)。

--sql-文件后缀 后缀
使用 VHDL 语言编写 后缀 构造生成的模式 SQL 文件的名称。 在单
数据库模式默认不使用后缀。 多库模式下默认
此选项的值是 -db (哪里 db 是数据库名称)。

--架构文件后缀 后缀
使用 VHDL 语言编写 后缀 构造生成的模式 C++ 源文件的名称。 在里面
单数据库模式此选项的默认值为 -模式. 在多
数据库模式是 -架构-db (哪里 db 是数据库名称)。 见 --架构-
格式 详细信息的选项。

--changelog-文件后缀 SFX
使用 VHDL 语言编写 SFX 构造更改日志文件的名称。 在单数据库模式下
默认不使用后缀。 在多数据库模式下这个默认值
选项是 -db (哪里 db 是数据库名称)。

--hxx-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 .hxx 构造生成的 C++ 的名称
头文件。

--ixx-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 .ixx 构造生成的 C++ 的名称
内联文件。

--cxx-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 .cxx 构造生成的 C++ 的名称
源文件。

--sql-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 .sql 构造生成的名称
数据库架构文件。

--changelog-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 。XML 构造更改日志文件的名称。

--hxx-序言 文本
插页 文本 在生成的 C++ 头文件的开头。

--ixx-序言 文本
插页 文本 在生成的 C++ 内联文件的开头。

--cxx-序言 文本
插页 文本 在生成的 C++ 源文件的开头。

--模式序言 文本
插页 文本 在生成的模式 C++ 源文件的开头。

--sql-序言 文本
插页 文本 在生成的数据库模式文件的开头。

--迁移序言 文本
插页 文本 在生成的数据库迁移文件的开头。

--sql-插曲 文本
插页 文本 毕竟 下降 并且在任何之前 CREATE 生成的语句
数据库架构文件。

--hxx-尾声 文本
插页 文本 在生成的 C++ 头文件的末尾。

--ixx-尾声 文本
插页 文本 在生成的 C++ 内联文件的末尾。

--cxx-尾声 文本
插页 文本 在生成的 C++ 源文件的末尾。

--模式结语 文本
插页 文本 在生成的模式 C++ 源文件的末尾。

--sql-尾声 文本
插页 文本 在生成的数据库模式文件的末尾。

--迁移结语 文本
插页 文本 在生成的数据库迁移文件的末尾。

--hxx-序言文件 文件
插入内容 文件 在生成的 C++ 头文件的开头。

--ixx-序言文件 文件
插入内容 文件 在生成的 C++ 内联文件的开头。

--cxx-序言文件 文件
插入内容 文件 在生成的 C++ 源文件的开头。

--schema-序言文件 文件
插入内容 文件 在生成的模式 C++ 源代码的开头
文件中。

--sql-序言文件 文件
插入内容 文件 在生成的数据库模式文件的开头。

--migration-序言文件 f
插入文件内容 f 在生成的数据库迁移开始时
文件中。

--sql-插曲文件 文件
插入内容 文件 毕竟 下降 并且在任何之前 CREATE 声明在
生成的数据库模式文件。

--hxx-尾声文件 文件
插入内容 文件 在生成的 C++ 头文件的末尾。

--ixx-尾声文件 文件
插入内容 文件 在生成的 C++ 内联文件的末尾。

--cxx-尾声文件 文件
插入内容 文件 在生成的 C++ 源文件的末尾。

--schema-epilogue-文件 文件
插入内容 文件 在生成的模式 C++ 源文件的末尾。

--sql-epilogue-文件 文件
插入内容 文件 在生成的数据库模式文件的末尾。

--迁移尾声文件 f
插入文件内容 f 在生成的数据库迁移文件的末尾。

--odb-序言 文本
汇编 文本 在输入头文件之前。 此选项允许您添加额外的
ODB 编译的声明,例如自定义特征特化
的过程。

--odb-序言文件 文件
汇编 文件 输入头文件之前的内容。 序言文件被编译
在所有的序言文本片段之后(--odb-序言 选项)。

--odb-尾声 文本
汇编 文本 在输入头文件之后。 此选项允许您添加额外的
ODB 编译的声明,例如自定义特征特化
的过程。

--odb-epilogue-文件 文件
汇编 文件 输入头文件后的内容。 尾声文件被编译
在所有的尾声文本片段之后(--odb-尾声 选项)。

--表前缀 字首
添加 字首 到表名,对于具有全局索引和/或外部索引的数据库
键名,这些名字也是如此。 前缀被添加到两个名称中
指定 db db 指数 pragma 和那些自动
派生自类和数据成员名称。 如果您需要分隔符,例如
下划线,在前缀和名字之间,然后你应该把它包含在
前缀值。

--index-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 _i 构造索引名称。 后缀只有
添加到从数据成员名称自动派生的名称中。 如果你
在名称和后缀之间需要一个分隔符,例如下划线,然后
您应该将其包含在后缀值中。

--fkey-后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 _fk 构造外键名称。 如果你
在名称和后缀之间需要一个分隔符,例如下划线,然后
您应该将其包含在后缀值中。

--序列后缀 后缀
使用 VHDL 语言编写 后缀 而不是默认值 _seq 构造序列名称。 如果您需要
名称和后缀之间的分隔符,例如下划线,然后您
应将其包含在后缀值中。

--sql 名称大小写 案件
将所有自动派生的 SQL 名称转换为大写或小写。 有效值
对于这个选项是 降低.

--表正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的表名。 请参阅下面的 SQL NAME TRANSFORMATIONS 部分
了解详情。

--列正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的列名。 请参阅下面的 SQL NAME TRANSFORMATIONS 部分
了解详情。

--index-正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的索引名称。 请参阅下面的 SQL NAME TRANSFORMATIONS 部分
了解详情。

--fkey-正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的外键名称。 请参阅 SQL 名称转换部分
详情请见下文。

--sequence-正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的序列名称。 请参阅 SQL 名称转换部分
详情请见下文。

--语句-正则表达式 正则表达式
添加 正则表达式 到用于转换的正则表达式列表
自动派生的准备好的语句名称。 请参阅 SQL 名称转换
下一节了解详情。

--sql-名称-正则表达式 正则表达式
添加 正则表达式 到用于转换所有的正则表达式列表
自动派生的 SQL 名称。 请参阅下面的 SQL NAME TRANSFORMATIONS 部分了解
细节。

--sql-名称-正则表达式-trace
跟踪应用 SQL 名称指定的正则表达式的过程
---*-正则表达式 选项。 使用此选项找出为什么您的正则表达式不
做你期望他们做的事。

--访问器正则表达式 正则表达式
添加 正则表达式 到用于将数据成员名称转换为的正则表达式列表
搜索合适的访问器函数时的函数名称。 论据
这个选项是一个类似于 Perl 的正则表达式形式 /模式/替代/.
任何字符都可以用作分隔符而不是 / 分隔符可以是
逃到里面 模式替代 带反斜杠 (\)。 您可以指定
通过重复此选项来创建多个正则表达式。

所有的正则表达式都按照指定的顺序尝试,第一个
使用产生合适访问器函数的表达式。 每个表达式都是
尝试了两次:首先使用实际成员名称,然后使用成员的 国家
姓名 这是通过去除常见的成员名称修饰获得的,例如
前导和尾随下划线, m_ 前缀等。ODB 编译器也
包括许多常用访问器名称的内置表达式,例如
获取富, 获取Foo, 得到富,只是 FOO. 最后尝试内置表达式。

例如,以下表达式转换具有公共名称的数据成员
形式 FOO 到表单中的访问者名称 获取富:

/(.+)/得到\u$1/

另请参阅下面的正则表达式和外壳引用部分。

--访问器正则表达式跟踪
跟踪应用指定的正则表达式的过程 --访问器-
正则表达式 选项。 使用此选项找出您的正则表达式不起作用的原因
你期望他们做什么。

--修饰符-正则表达式 正则表达式
添加 正则表达式 到用于将数据成员名称转换为的正则表达式列表
搜索合适的修饰函数时的函数名称。 论据
这个选项是一个类似于 Perl 的正则表达式形式 /模式/替代/.
任何字符都可以用作分隔符而不是 / 分隔符可以是
逃到里面 模式替代 带反斜杠 (\)。 您可以指定
通过重复此选项来创建多个正则表达式。

所有的正则表达式都按照指定的顺序尝试,第一个
使用产生合适修饰符函数的表达式。 每个表达式都是
尝试了两次:首先使用实际成员名称,然后使用成员的 国家
姓名 这是通过去除常见的成员名称修饰获得的,例如
前导和尾随下划线, m_ 前缀等。ODB 编译器也
包括许多常用修饰符名称的内置表达式,例如
设置_foo, 设置Foo, 集富,只是 FOO. 最后尝试内置表达式。

例如,以下表达式转换具有公共名称的数据成员
形式 FOO 修改表单中的名称 设置符:

/(.+)/设置\u$1/

另请参阅下面的正则表达式和外壳引用部分。

--修饰符-正则表达式-跟踪
跟踪应用指定的正则表达式的过程 --修饰符-
正则表达式 选项。 使用此选项找出您的正则表达式不起作用的原因
你期望他们做什么。

--包含带括号
在生成的文件中使用尖括号 (<>) 而不是引号 ("") 的#include
指令。

--包含前缀 字首
添加 字首 到生成的 的#include 指令路径。

--include-正则表达式 正则表达式
添加 正则表达式 到用于转换生成的正则表达式列表 的#include
指令路径。 这个选项的参数是一个类似 Perl 的正则表达式
表格 /模式/替代/. 任何字符都可以用作分隔符而不是
/ 并且分隔符可以在里面转义 模式替代 带反斜杠
(\)。 您可以通过重复此选项来指定多个正则表达式。 一切
正则表达式按指定的顺序尝试,第一个表达式
匹配被使用。

例如,以下表达式转换包括以下形式的路径
foo/bar-odb.h 到表单中的路径 foo/生成/bar-odb.h:

%foo/(.+)-odb.h%foo/生成/$1-odb.h%

另请参阅下面的正则表达式和外壳引用部分。

--include-正则表达式-trace
跟踪应用指定的正则表达式的过程 - 包括-
正则表达式 选项。 使用此选项找出您的正则表达式不起作用的原因
你期望他们做什么。

--guard-前缀 字首
添加 字首 到生成的标题包含守卫。 前缀转换为
预处理器宏名称中的大写和非法字符是
替换为下划线。

--显示-sloc
打印生成的物理源代码行数 (SLOC)。

--sloc-限制 NUM
检查生成的物理源代码行数 (SLOC)
超过 NUM.

--选项文件 文件
阅读其他选项 文件 每个选项都出现在单独的行上
可选后跟空格和选项值。 空行和行开始
- # 被忽略。 选项值可以包含在双 (") 或单个 (')
引号以保留前导和尾随空格以及指定空
值。 如果值本身包含尾随或前导引号,请用
额外的一对引号,例如 '“X”'. 非前导和非尾随引号是
解释为选项值的一部分。

在文件中提供选项的语义等同于提供相同的
命令行上相同顺序的一组选项
--选项文件 选项被指定,除了外壳转义和引用是
不需要。 您可以重复此选项以指定多个选项文件。

-x 选项
通过 选项 到底层 C++ 编译器(克++)。 该 选项 没有的价值
从...开始 - 被认为是 克++ 可执行名称。

-v 打印为运行编译阶段而执行的命令。

- 痕迹
跟踪编译过程。

--mysql-引擎 发动机
使用 VHDL 语言编写 发动机 而不是默认值 InnoDB的 在生成的数据库架构文件中。 为了
有关存储引擎选项的更多信息,请参阅 MySQL 文档。 如果你
想使用数据库默认引擎,通过 默认 作为这个的价值
选项。

--sqlite-覆盖-null
使生成的数据库架构中的所有列都允许 值。 这是
主要用于模式迁移,因为 SQLite 不支持删除
列。 通过使所有列 我们稍后可以通过设置它们来“删除”它们
. 请注意,此选项甚至会覆盖 不为空 语用。

--sqlite-lax-自动 ID
不要强制单调增加自动分配的对象 ID。 在这
模式生成的数据库模式省略 自动递增 导致的关键字
更快的对象持久性,但可能导致自动分配的 id 不在
严格升序。 有关详细信息,请参阅 SQLite 文档。

--pgsql-服务器版本 版本
指定生成的 C++ 代码的最低 PostgreSQL 服务器版本和
将使用架构。 此信息用于启用特定于版本的
生成的 C++ 代码和架构中的优化和变通方法。 版本
必须在 主要.未成年人 形式,例如, 9.1. 如果未指定此选项,
然后 7.4 或以后被假定。

--oracle 客户端版本 版本
指定生成的最低 Oracle 客户端库 (OCI) 版本
C++ 代码将被链接。 此信息用于启用特定于版本的
生成的 C++ 代码中的优化和解决方法。 版本必须在
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 主要.未成年人 形式,例如, 11.2. 如果未指定此选项,则 10.1
或以后被假定。

--oracle-警告截断
警告超过 30 个字符的 SQL 名称,因此
被截断。 请注意,在数据库模式生成期间 (--生成模式) 数据库
检测此类截断何时导致名称冲突并发出诊断信息,甚至
没有指定这个选项。

--mssql 服务器版本 版本
指定生成的 C++ 代码和
将使用架构。 此信息用于启用特定于版本的
生成的 C++ 代码和架构中的优化和变通方法。 版本
必须在 主要.未成年人 形式,例如, 9.0 (SQL Server 2005), 10.5 (2008R2),
or 11.0 (2012)。 如果未指定此选项,则 10.0 (SQL Server 2008) 或
后来假设。

--mssql-做空限制 尺寸
指定短数据大小限制。 如果一个字符、国家字符或二进制
数据类型的最大长度(以字节为单位)小于或等于此限制,则它
被视为 data,否则是 data. 对于短数据 ODB 预
分配一个最大大小的中间缓冲区并将其直接绑定到一个
参数或结果列。 这样底层 API (ODBC) 可以读/写
直接从/到这个缓冲区。 在长数据的情况下,数据被读/写
分块使用 SQLGet数据()/SQLPutData() ODBC 函数。 而长数据
方法减少了应用程序使用的内存量,它可能需要
更大的 CPU 资源。 默认短数据限制为 1024 字节。 当设置一个
自定义短数据限制,确保它足够大,以便没有对象
应用程序中的 id 被视为长数据。

SQL 您的姓名 转型


ODB 编译器提供了许多机制来转换自动派生的
SQL 名称,例如表、列等,以匹配特定的命名约定。 在
在更高级别,我们可以为全局名称(表和某些数据库的索引)添加前缀
和/或外键)与 --表前缀 选项。 同样,我们可以指定自定义
自动导出索引的后缀 (--index-后缀; 默认是 _i), 外键
(--fkey-后缀; 默认是 _fk), 和序列 (--序列后缀; 默认是 _seq) 名称。
最后,我们还可以使用以下命令将所有名称转换为大写或小写 --sql 名称大小写
选项(有效值为 降低).

在较低级别我们可以指定一组正则表达式来实现任意
自动派生的 SQL 名称的转换。 如果我们想要一个特定的常规
表达式仅适用于特定名称,例如表或列,然后我们使用一个
---正则表达式 选项,其中 , , 指数, 钥匙, 序列
声明. 另一方面,如果我们希望我们的正则表达式适用于所有 SQL
名称,然后我们使用 --sql-名称-正则表达式 选项。

高层和低层转换之间的交互如下。 前缀
和后缀首先添加。 然后应用正则表达式转换。
最后,如果需要,名称将转换为大写或小写。 另请注意,所有
这些转换除了 --表前缀 仅适用于自动派生的名称。
换句话说,如果表、列等名称是用编译指示显式指定的,
然后按原样使用,不应用任何(表前缀除外)转换。

的值 ---*-正则表达式 options 是一个类似于 Perl 的正则表达式,形式为
/模式/替代/. 任何字符都可以用作分隔符而不是 /
分隔符可以在里面转义 模式替代 带反斜杠 (\)。 您可以
还可以通过重复这些选项来指定多个正则表达式。

所有正则表达式都按照名称特定的指定顺序进行尝试
表达式(例如, --表正则表达式) 先尝试,然后是通用表达式
(--sql-名称-正则表达式)。 使用匹配的第一个表达式。

例如,考虑一个将类名转换为以下形式的正则表达式 首席财务官
到表格中的表名 FOO:

--表正则表达式 '/C(.+)/\U$1/'

作为一个更有趣的例子,考虑遵循以下的类名的转换
驼峰大写约定(例如, 富吧) 到后面的表名
下划线分隔,所有大写约定(例如, FOO_BAR)。 对于这种情况我们
必须使用单独的表达式来处理单字、双字等,名称:

--表正则表达式 '/([Az][az]+)/\U$1/'

--表正则表达式 '/([Az][az]+)([Az][az]+)/\U$1_$2/'

另请参阅下面的正则表达式和外壳引用部分。

正则表达式 AND SHELL 引用


在 shell 命令行中输入正则表达式参数时,通常是
必须使用引号(将参数括在“”或“ ”中)以防止
shell 解释某些字符,例如,空格作为参数分隔符和
$ 作为变量扩展。

不幸的是,很难以跨 POSIX shell 可移植的方式实现这一点,
例如在 GNU/Linux 和 UNIX 以及 Windows shell 上找到的那些。 例如,如果您使用“”
对于引用,如果表达式包含 $,则使用 POSIX shell 会得到错误的结果。
在 POSIX 系统上处理此问题的标准方法是使用“ ”。
不幸的是,Windows shell 在将参数传递给参数时不会从参数中删除“ ”
应用程序。 因此,您可能必须对 POSIX 使用“ ”,对 Windows 使用“”($ 不是
在 Windows 上被视为特殊字符)。

或者,您可以将正则表达式选项保存到文件中,每行一个选项,
并将此文件与 --选项文件 选项。 使用这种方法,您无需
担心 shell 引用。

诊断


如果输入文件不是有效的 C++, ODB 将向 STDERR 发出诊断消息并退出
带有非零退出代码。

使用 onworks.net 服务在线使用 odb


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。