首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该把调用Oracle OCI的代码放在哪里?

我应该把调用Oracle OCI的代码放在哪里?
EN

Stack Overflow用户
提问于 2014-03-20 20:05:37
回答 1查看 322关注 0票数 0

我想从c++程序中检索oracle数据库中的数据,可以建议我哪一个更好吗

oracle调用接口(OCI)或C/C++预编译器(Pro *C/C++),并告诉我两者之间的区别。谢谢。

编辑注释:我应该将调用OCI的代码放在.cpp文件或PreCompiler (.pc/.pcpp)文件中吗?

EN

回答 1

Stack Overflow用户

发布于 2014-03-20 21:51:54

首先对这两个选项进行说明:

SQL * C/C++允许您直接在C/C++代码中编写语句,就好像语言已经通过SELECT和INSERT等新关键字进行了扩展一样。就像ABAP或Linq一样。这种效果是通过使用所谓的预编译器对嵌入式SQL和C/C++的混合进行预处理而获得的。它将所有嵌入式SQL转换为大量C代码,这些代码调用名为"SQLLIB“的内部Oracle库。结果是纯C/C++代码,可以提供给您的标准C/C++编译器。

  • OCI只是一个从C/C++代码调用的C接口/ API。没有预处理魔术,只有C/C++。

支持和反对:

  • 嵌入式SQL使SQL易于阅读,并减少了要编写的代码量。所有重复出现的样板代码都被预编译器隐藏起来。那很好。但是预编译器引入了具有新问题的新构建步骤:例如,预编译器期望嵌入式SQL以特定的顺序存在于一个文件中。普通的C语言允许将其拆分并移动函数。嵌入式SQL引入了新的语言规则来遵守。
  • 没有比OCI更快的方式访问数据库。我假设SQLLIB调用OCI,但这意味着您在OCI上有一个额外的间接性。它是一个纯C语言的API,不需要学习新的语言规则。但是它模糊了函数调用中的SQL和所有的C语法。

哪种更好些呢?那得看情况。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22532483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档