这次第,怎一个爽字了得

摘要

本文详细记录了,使用VS2013,VC++WindowsConsole程序运行OTL 一个示例代码Example 185 ( )的过程,希望能帮到首次接触OTL的朋友。

1. OTL简介

OTL 是 Oracle, Odbc and DB2-CLI Template Library 的缩写,是一个C++操控关系数据库的模板库,它目前几乎支持所有的当前各种主流数据库,例如Oracle, MS SQL Server, Sybase, Informix, MySQL, DB2, Interbase / Firebird, PostgreSQL, SQLite, SAP/DB, TimesTen, MS ACCESS等等。OTL中直接操作Oracle主要是通过Oracle提供的OCI接口进行,进行操作DB2数据库则是通过CLI接口来进行,至于MS的数据库和其它一些数据库,则OTL只提供了ODBC来操作的方式。当然Oracle和DB2也可以由OTL间接使用ODBC的方式来进行操纵。OTL最新版本为4.0,项目主页:

优点: a. 跨平台 b. 运行效率高,与C语言直接调用API相当 c. 开发效率高,起码比ADO.net使用起来更简单,更简洁 d. 部署容易,不需要ADO组件,不需要.net framework 等缺点: 我不知道,所以我不说:)

2. OTL下载

从主页:可以进入下载页面,使用OTL开发,只需要下载其一个头文件就可以了,下载下来的头文件名为:otlv4.h。在下载页面也同时提供了帮助文档和例子程序的下载。

3. 编译调试运行示例Example 185

3.1打开VS2013,新建一个VC++空白的Win32ConsoleApplication工程,Solutionname:OTL Example,Project Name: Example185_Unicode_NVarChar2_otl_refcur_stream,添加cpp文件,main.cpp,将示例代码()拷贝到main.cpp中,就向这样

别着急编译,一大堆错误呢,接着往下看。

3.2配置x64SolutionPlatform

系统环境是 Windows 8.1 Pro,64-bitOperating System, x64-based processor。OracleClient 64-bit, Release 11.2.0.3.0。

所以必须,新建x64 SolutionPlatform

点击OK,然后将编译平台设置为x64

3.3 添加引用otlv4.h

在解决方案文件所在的目录下,新建文件夹OTL_Include,将下载下来的otlv4.h文件放入其中,然后在工程属性中,添加刚才新建的目录作为otlv4.h引用路径:

$(SolutionDir)\OTL_Include

3.4 添加引用oci.h和oci.lib

从Oracle的安装路径中,,找到oci.h和oci.lib所在的文件夹,将文件夹oci其拷贝到解决方案所在文件夹下。

然后依次修改下面3个工程属性:

1) oci.h引用路径:$(SolutionDir)\oci\include

2) Oci.lib引用路径:$(SolutionDir)\oci\lib\msvc

3) 指定oci.lib依赖

4其它编译错误

当遇到以下编译错误时:

1>main.cpp(26): error C4996: ‘sprintf’: This function orvariable may be unsafe. Consider using sprintf_s instead. To disabledeprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

1>C:\Program Files (x86)\Microsoft Visual Studio12.0\VC\include\stdio.h(356) : see declaration of ‘sprintf’

使用sprintf_s替换掉函数sprintf。

至此,编译应该通过了。

5.修改连接字符串

从例子代码中,找到rlogon函数调用,修改其连接到测试数据库,例如,我的就修改如下:

db.rlogon("fmuser_syy/fm@10.86.0.7:1521/fmorcl"); // connectto Oracle

6.运行效果

7.示例工程下载

资源分分很贵的!所以附上完整源代码一份,你也可以不必去下载!

听过许多故事,见过旅行风景,就这样,

这次第,怎一个爽字了得

相关文章:

你感兴趣的文章:

标签云: