OCILIB 连接Oracle数据库——安装配置
来源:互联网 发布:消防三知四会一联通 编辑:程序博客网 时间:2024/06/05 06:32
( CSDN格式不友好,同样的内容请参考:简书 )
一、安装配置
1、从vrogier.github.io下载最新的ocilib文件,将include和lib文件夹放到项目目录下,将dll拷贝到项目运行目录下。
2、在项目中添加头文件和lib
#include "ocilib.hpp"#ifdef _WIN64#pragma comment(lib,"ocilib/lib64/ociliba.lib")#else#pragma comment(lib,"ocilib/lib32/ociliba.lib")#endif // _WIN64using namespace ocilib;
3、ocilib是可以在没有安装oracle客户端的机器中运行的,但是需要带上oracle客户端中的两个文件oci.dll
和oraociei11.dll
,并在环境初始化时指定这两个文件的目录,即Initialize()的第二个参数。
Environment::Initialize(Environment::Default,ociDllPath); //ociDllPath 为 oci.dll和oraociei11.dll的目录
4、官方提供了C API和C++ API两种方式,参看文档介绍:
* OCILIB ++是基于C OCILIB API构建的一种用于Oracle的C ++ API * 全部的C API移植到C++ * (实现为一小组头文件,不需要库编译 * 基于C ++和STL范例(强类型,模板,容器,RAII,异常处理,运算符,堆栈对象) * 基于设计模式(RAII,授权,引用计数,智能指针,代理,单例) * 不需要用户动态对象分配 * 唯一的依赖是:STL和OCILIB C API * OCILIB C API调用中发生的任何故障将抛出ocilib ::异常.由于一致性原因,此类派生自std :: Exception * 每个C OCILIB对象句柄都有其C ++类计数器部分 * 整个OCILIB C文档(概念,用例,功能和功能)对OCILIB ++仍然有效
5、简单demo(这里只展示C++版本的,C版本的请参看文档):
C++版本:
#include "ocilib.hpp"using namespace ocilib;int main(void){ try { Environment::Initialize(); Connection con("db", "usr", "pwd"); Statement st(con); st.Execute("select intcol, strcol from table"); Resultset rs = st.GetResultset(); while (rs.Next()) { std::cout << rs.Get<int>(1) << " - " << rs.Get<ostring>(2) << std::endl; } } catch(std::exception &ex) { std::cout << ex.what() << std::endl; } Environment::Cleanup(); return EXIT_SUCCESS;}
阅读全文
0 0
- OCILIB 连接Oracle数据库——安装配置
- OCILIB 连接Oracle数据库——注意事项
- OCILIB 连接Oracle数据库——插入数据
- Oracle数据库开发——使用OCILIB
- 使用 OCILIB 连接并操作 Oracle 数据库
- CPP/VCPP_连接Oracle数据库-OCILIB
- C++使用 OCILIB 连接 Oracle
- C++通过OCILIB连接Oracle
- c 语言使用ocilib连接 orale数据库
- 在LINUX上使用OCILIB连接ORACLE数据库失败的问题
- C++使用ocilib访问oracle数据库
- 使用ocilib库访问oracle数据库
- LINUX安装配置及连接oracle数据库
- 不安装客户端oracle客户端 Nhibernate配置连接oracle数据库
- oracle连接数据库配置
- linux中用netbeans开发ocilib连接oracle程序
- Oracle数据库——服务端配置远程连接
- Eclipse连接Oracle数据库的具体步骤-安装配置
- goahead-3.3.6源码分析
- 支付宝支付
- 调试
- loadBeanDefinitions
- 宝藏(树形DP)
- OCILIB 连接Oracle数据库——安装配置
- 专访微软SQL项目组高级产品经理:SQL Server新技术与云化技术支持
- IntelliJ:补全if,do-while,try-catch,return句子的括号
- 如何找到适合你自己的工作?
- Kinect2.0配合Unity3D使用中获取AcquireLatestFrame()的一个坑
- Android填坑之旅(第十七篇)MIX2 适配看这一篇就够了,只需一行代码
- 三级缓存处理图片
- angular.js查询天气
- 4977:怪盗基德的滑翔翼