使用OTL连接数据库有感篇(一)
2017-02-14 16:07
1021 查看
在使用C++连接数据库的时候,你可以选择ODBC或者ADO等方式,但是OTL连接数据库确实挺方便的,它所有的代码都放在一个头文件otlv4.h中,我们在写程序的时候直接将头文件包含进来,就可以调用其中的类中的函数进行数据库的连接,增删改查等操作。最近一直在使用Oracle数据库,这次就使用OTL连接Oracle数据库,Oracle数据库提供一个调用的接口(OCI),是Oracle公司开发的一个应用程序开发工具,是一个通过访问Oracle数据库的服务器,控制各类sql语句的执行,进而创建应用程序接口(API),OTL就是通过OCI对Oracle数据库进行操作。
下面就是我写过的一个实际例子,比较简单,只是为了登录数据库,并不进行其他操作,主要目的是学会使用OTL:
1. 所需文件:
首先我们应该从网上下载OTL的源码也就是 otlv4.h 这个头文件。
然后打开Oracle的安装目录E:\product\11.2.0\dbhome_1\OCI 找到oci文件夹将整个文件夹拷贝出来,文件夹中包含include文件夹和lib文件夹。
2.示例:
打开VS2008创建一个MFC工程,名称为mfc_one. (其它的就不多说了,这个都很清楚),然后打开工程目录,将OCI这个文件夹直接拷贝到工程目录下,在工程目录下新建一个文件夹OTL,将otlv4.h这个头文件放进这个文件夹中。
接下来就是配置项目属性,将文件包含进来,在mfc_oneDlg.h和mfc_oneDlg.cpp中都需要将otlv4.h这个头文件包含进去 (#include"otlv4.h").
然后在 项目->项目属性->c/c++->常规中附加包含目录,如下图所示:
$(SolutionDir) 是VS中的宏定义,表示的就是当前的工程目录。
然后在项目->项目属性->连接器->常规 中添加附加库目录,如下图所示:
在 项目->项目属性->连接器->输入 选项中配置 附加依赖项如下图所示:
上面这些配置 都是为了包含OCI,创建OCI环境。
下面就是链接数据库的一个例子:
完成这些以后,需要说明一下,连接字符串的格式,一般是 “用户名/密码@TNS”
和实用工具连接oracle数据库一样,同样需要配置tnsnames.ora文件,这个文件 使用oracle数据库的都不会陌生下面是我的该文件配置:
编译好程序之后 需要将oci.dll和可执行文件放在一起,不然程序会报错,
配置好环境,其他操作就可以自己参照源码中的格式自己操作,现在网也有好多OTL的示例,有兴趣的话可以参考一下,我也是刚接触OTL,认识比较浅,希望大神指点。
下面就是我写过的一个实际例子,比较简单,只是为了登录数据库,并不进行其他操作,主要目的是学会使用OTL:
1. 所需文件:
首先我们应该从网上下载OTL的源码也就是 otlv4.h 这个头文件。
然后打开Oracle的安装目录E:\product\11.2.0\dbhome_1\OCI 找到oci文件夹将整个文件夹拷贝出来,文件夹中包含include文件夹和lib文件夹。
2.示例:
打开VS2008创建一个MFC工程,名称为mfc_one. (其它的就不多说了,这个都很清楚),然后打开工程目录,将OCI这个文件夹直接拷贝到工程目录下,在工程目录下新建一个文件夹OTL,将otlv4.h这个头文件放进这个文件夹中。
接下来就是配置项目属性,将文件包含进来,在mfc_oneDlg.h和mfc_oneDlg.cpp中都需要将otlv4.h这个头文件包含进去 (#include"otlv4.h").
然后在 项目->项目属性->c/c++->常规中附加包含目录,如下图所示:
$(SolutionDir) 是VS中的宏定义,表示的就是当前的工程目录。
然后在项目->项目属性->连接器->常规 中添加附加库目录,如下图所示:
在 项目->项目属性->连接器->输入 选项中配置 附加依赖项如下图所示:
上面这些配置 都是为了包含OCI,创建OCI环境。
下面就是链接数据库的一个例子:
void Cmfc_oneDlg::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 // 数据库连接 UpdateData(TRUE); sConnect.Format("%s/%s@%s",m_DBUser,m_DBPassword,m_DBObject); try { m_db.rlogon("sConnect.GetBuffer()"); // connect to Oracle } catch (otl_exception& p) { TRACE(_T("Oracle connecterror(msg:%s, stm_text: %s, sqlstate: %s, var_info: %s)"), p.msg, p.stm_text, p.sqlstate, p.var_info); } }
完成这些以后,需要说明一下,连接字符串的格式,一般是 “用户名/密码@TNS”
和实用工具连接oracle数据库一样,同样需要配置tnsnames.ora文件,这个文件 使用oracle数据库的都不会陌生下面是我的该文件配置:
# tnsnames.ora Network Configuration File: D:\app\Administrator\product\11.2.0\dbhome_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
编译好程序之后 需要将oci.dll和可执行文件放在一起,不然程序会报错,
配置好环境,其他操作就可以自己参照源码中的格式自己操作,现在网也有好多OTL的示例,有兴趣的话可以参考一下,我也是刚接触OTL,认识比较浅,希望大神指点。
相关文章推荐
- vc++ 使用otl连接数据库苦逼的经历
- 如何使用C#连接dbf数据库
- 在Pocket PC中使用Web Service连接数据库
- VC中用Ado接口代码连接和使用与数据库
- 在Visual Basic.NET使用ADO访问数据库(转for各种数据库连接)
- 使用纯JAVA连接SQL SERVER 数据库的例子
- 数据中心使用dtu远程连接oracel 9i数据库问题
- [原创]使用web.config连接数据库
- 使用PHP+FreeTDS在Linux下连接MS SQLServer数据库
- 使用Tomcat 连接池 连接数据库的实例
- ASP.NET中使用web.config配置web应用程序中的数据库连接
- 不使用COM组件弹出数据库连接对话框
- 实战COM(06)----在COM中使用Ole DB连接数据库
- PHP面向对象的使用教程 简单数据库连接
- 解决使用ASP无法连接 ORACLE 9i 数据库的问题。
- ASP.NET中使用web.config配置web应用程序中的数据库连接
- 用WINXP2+DW+ACCESS使用本地 ASP.NET 和 ASP 服务器时数据库连接失败
- 正确使用数据库连接
- 在ASP.NET(C#)中使用Oralce Object For OLE 2.3连接Oracle 8.0.5数据库!
- BCB使用ADO连接informix数据库的方法