[1/3] 刚刚入门了 Oracle Pro*C/C++ 预处理器。直接在 C 代码里嵌入 SQL 语句,然后用 proc 命令把整个代码翻译成真正的 C 代码——虽然极其冗长但是与原始代码是一一对应的关系,最后整个程序直接链接 Oracle 的 SDK 头文件和底层客户端 C 库。如果把程序启动和建立连接等时间都算上的话,目测这是访问 Oracle 数据库最快的方法,因为其他语言平台都需要动态加载庞大的 Oracle 客户端 C 库,初始化也需要时间,SQL 数据要在不同的内部数据类型之间反复传递,唯有 C 代码最简单粗暴。

Reply to this note

Please Login to reply.

Discussion

@田春冰河:那些用什么 JDBC/ODBC 去连接 Oracle 数据库的,都把 Oracle 玩糟蹋了[挤眼]

@ExcitedVczh:但是macro维护起来实在太蛋疼了,为什么不把macro做成外部的codegen,输入sql输出C语言代码,到时候link在一起,不是更好看[摊手]

@田春冰河:那些不是 C macro,而是 Oracle 自己基于 SQL 设计的语言,有它自己的预编译器(我原文打错了,不是预处理器),是要对 SQL 做语法检查的。