Man page - ecpg(1)

Packages contains this manual

Available languages:

en zh_TW zh_CN

Manual

ECPG

NAME
SYNOPSIS
DESCRIPTION 描 述
OPTIONS 选 项
NOTES 注 意
EXAMPLES 例 子
译 者


NAME

ecpg - 嵌 入 的 SQL C 预 处 理 器

SYNOPSIS

ecpg [ option ... ] file ...

DESCRIPTION 描 述

ecpg 是 一 个 嵌 入 的 用 于 C 语 言 的 SQL 预 编 译 器 。 它 把 嵌 有 SQL 语 句 的 C 程 序 通 过 将 SQL 调 用 替 换 成 特 殊 的 函 数 调 用 的 方 法 转 换 成 普 通 的 C 代 码 。 然 后 输 出 的 文 件 就 可 以 用 任 何 C 编 译 工 具 进 行 处 理 。

clusterdb 将 把 命 令 行 上 给 出 的 每 个 输 入 文 件 转 换 成 对 应 的 C 输 出 文 件 。 输 入 文 件 最 好 有 .pgc 的 扩 展 名 , 这 样 , 这 个 扩 展 将 被 替 换 成 .c 来 决 定 输 出 文 件 名 。 如 果 输 入 文 件 的 扩 展 不 是 .pgc, 那 么 输 出 文 件 名 将 通 过 在 全 文 件 名 后 面 附 加 .c 来 生 成 。 输 出 文 件 名 也 可 以 用 -o 选 项 覆 盖 。

本 手 册 页 并 不 描 述 嵌 入 的 SQL 语 句 , 参 阅 Chapter 29 获 更 多 信 息 。

OPTIONS 选 项

clusterdb 接 受 下 列 命 令 行 参 数 :

-c

为 SQL 代 码 自 动 生 成 某 种 C 代 码 。 目 前 , 这 个 选 项 可 以 用 于 EXEC SQL TYPE。

-C mode

设 置 一 个 兼 容 模 式 。 mode 可 以 是 INFORMIX 或 者 INFORMIX_SE。

-D symbol

定 义 一 个 C 预 编 译 器 符 号 。

-i

同 时 也 分 析 系 统 包 含 文 件 。

-I include-path

声 明 一 个 附 加 的 包 含 路 径 。 用 于 寻 找 通 过 EXEC SQL INCLUDE 包 含 的 文 件 。 缺 省 是 .( 当 前 目 录 ) , /usr/local/include, 在 编 译 时 定 义 的 PostgreSQL 包 含 路 径 ( 缺 省 : /usr/local/pgsql/include) 和 /usr/include。 顺 序 如 上 。

-o filename

声 明 ecpg应 该 把 它 的 所 有 输 出 写 到 给 出 的 filename里 。

-t

打 开 自 动 提 交 模 式 。 在 这 种 模 式 象 , 每 个 查 询 都 自 动 提 交 , 除 非 它 是 包 围 在 一 个 明 确 的 事 务 块 中 。 在 缺 省 模 式 下 , 命 令 只 是 在 发 出 EXEC SQL COMMIT 的 时 候 提 交 。

-v

打 印 额 外 的 信 息 , 包 括 版 本 和 包 含 路 径 。

--help

显 示 一 个 命 令 用 法 的 简 单 摘 要 , 然 后 退 出 。

--version

显 示 版 本 信 息 , 然 后 退 出 。

NOTES 注 意

在 编 译 预 处 理 的 C 代 码 文 件 的 时 候 , 编 译 器 需 要 能 够 找 到 PostgreSQL 包 含 目 录 里 面 的 ECPG 头 文 件 。 因 此 , 我 们 在 调 用 编 译 器 的 时 候 可 能 需 要 使 用 -I ( 比 如 , -I/usr/local/pgsql/include) 。
使 用 了 嵌 入 SQL 的 C 代 码 必 须 和 libecpg 库 链 接 , 比 如 , 使 用 这 样 的 链 接 选 项 : -L/usr/local/pgsql/lib -lecpg
这 些 目 录 的 实 际 值 可 以 通 过 pg_config (1) 找 到 。

EXAMPLES 例 子

如 果 你 有 一 个 叫 prog1.pgc 的 嵌 入 SQL 的 C 源 代 码 , 你 可 以 用 下 面 的 命 令 序 列 创 建 一 个 可 执 行 程 序 :

ecpg prog1.pgc
cc -I/usr/local/pgsql/include -c prog1.c
cc -o prog1 prog1.o -L/usr/local/pgsql/lib -lecpg

译 者

Postgresql 中 文 网 站 何 伟 平 <laser@pgsqldb.org>

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。
中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh