Oracle C++ Call Interface
此條目需要擴充。 (2018年4月15日) |
維基教科書中的相關電子教學:Oracle C++ Call Interface(OCCI)
Oracle C++ Call Interface (OCCI),是Oracle公司提供的C++程序訪問Oracle數據庫的API[1] OCCI的類提供了SQL語句的參數。OCCI從Oracle數據庫9i開始發佈。
OCCI起源自Oracle Call Interface (OCI),C語言程序的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);
主流的Instant Client/OCCI與VC++版本號匹配:
Instant Client/OCCI版本 | Visual C++ 2017 | Visual C++ 2015 | Visual C++ 2013 | Visual C++ 2012 | Visual C++ 2010 | Visual C++ 2008 | Visual C++ 2005 | Visual C++ .NET 2003 | Visual C++ .NET 2002 | Visual C++ 6 |
---|---|---|---|---|---|---|---|---|---|---|
18.3.0.0.0 | √ | |||||||||
12.2.0.1.0 | √ | |||||||||
12.1.0.2.0 | √ | √ | √ | |||||||
11.2.0.4.0 | √ | √ | ||||||||
11.1.0.7.0 | √ | √ | ||||||||
10.2.0.5 | ||||||||||
10.1.0.5 | √ | √ | √ |
Windows上更多老版本(Visual Studio 2005~2010)的OCCI下載頁面:[5]。
參考文獻
- ^ Oracle C++ Call Interface main page. [2018-04-15]. (原始內容存檔於2018-03-29).
- ^ OCCI Developer Reference. [2018-04-15]. (原始內容存檔於2011-10-13).
- ^ Oracle Instant Client FAQ. [2018-04-17]. (原始內容存檔於2018-04-17).
- ^ Instant Client Downloads for Microsoft Windows 32-bit. [2018-04-17]. (原始內容存檔於2018-04-17).
- ^ Oracle C++ Call Interface - Downloads. [2019-01-30]. (原始內容存檔於2019-01-30).