跳转到内容

Oracle C++ Call Interface

维基百科,自由的百科全书

这是本页的一个历史版本,由CamLine留言 | 贡献2019年1月30日 (三) 07:37 安装编辑。这可能和当前版本存在着巨大的差异。

Oracle C++ Call Interface (OCCI),是Oracle公司提供的C++程序访问Oracle数据库API[1] OCCI的提供了SQL语句的参数。OCCI从Oracle数据库9i开始发布。

OCCI起源自Oracle Call Interface (OCI)英语Oracle Call InterfaceC语言程序的API。[2]

简介

安装

OCCI现在包含于oracle客户端包中。只需从Oracle网站下载相应版本的Instant Client包解压即可。[3]包含:

  • instantclient-basic (一些基础组件)
  • instantclient-sdk (开发包,即相关的头文件和库文件,但只有release版本的lib和动态库,对于开发和调试来说是不够的)
  • occi (能正确匹配你的开发环境的OCCI库)

Easy Connect 字符串的格式为:

[//]host_name[:port][/service_name][:server_type][/instance_name]

Oracle Instant Client向后兼容访问低版本的数据库。

获取std::string类型的字段的值的结果集成员函数getString()在Visual C++编译后运行时,常会报异常,这需要根据访问的Oracle数据库的版本从Oracle网站下载使用相应版本号的“Instant Client Downloads for Microsoft Windows 32-bit”[4]。并选择相应的调试版本的库:

  • DLL multithread Debug (/MDd) for debug with oraocci11d.lib and oraocci11d.dll
  • DLL multithread (/MD) for release with oraocci11.lib and oraocci11.dll

并且采取静态局部变量接收成员函数getString()的返回值,形如:

static std::string varName = resultSet->getString(1);

Windows上更多老版本(Visual Studio 2005~2010)的OCCI下载页面:[5]

参考文献

  1. ^ Oracle C++ Call Interface main page
  2. ^ OCCI Developer Reference
  3. ^ Oracle Instant Client FAQ
  4. ^ Instant Client Downloads for Microsoft Windows 32-bit
  5. ^ Oracle C++ Call Interface - Downloads