最近尝试了一下c++通过ocilib访问Oracle数据库,用MinGW编译,源码很容易找到,例如ocilib自带的demo中fetch.c
记录一下遇到的问题和解决办法:
1、连接失败
报错信息类似这样:undefined reference to `OCI_Initialize'
解决办法:
ocilib的文档中已经有明确说明:
To use OCILIB in a project :
- include "ocilib.h" in your application
- define call convention (OCI_API) to __stdcall
- define charset mode (OCI_CHARSET_ANSI | OCI_CHARSET_WIDE)
所以在头文件中增加下面两行就可以了:
#define OCI_API __stdcall
#define OCI_CHARSET_ANSI UTF-8
2、OCI_Initialize失败
问题现象:OCI_Initialize返回FALSE
问题原因:我遇到的原因是我安装的是64位的Oracle,而我的程序是32位的,无法调用64位的oci.dll
解决办法:
1、安装一个32位的Oracle客户端
这个可以在Oracle网站上单独下载,无需安装,解压即可。
2、在OCI_Initialize的第二个参数中指定oci.dll所在的路径,类似下面这样:
OCI_Initialize(NULL, "C:\\Programs\\Oracle\\product\\11.2.0\\dbhome_1\\instantclient_x32", OCI_ENV_DEFAULT)
总结:
OCILib非常好用,效率很高,文档也比较清楚。
相关推荐
Msys: 1.0.10 MinGW:5.1.4 make: 3.81.90 ...这是我自己根据一篇比较新的blog搭建的mingw+msys环境,用来编译ffmpeg的,各种版本都可以编译。 基本上解决了常出现的各种问题。移植可用! 文章地址: ...
- **手动安装MinGW** (如果未在安装过程中选择安装MinGW): 可以访问MinGW的官方网站(http://sourceforge.net/project/showfiles.php?group_id=2435)下载Automated MinGW Installer进行手动安装。运行下载的MinGW-...
《Eclipse+CDT+MinGW+gdb安装手册》 在软件开发中,尤其是在C/C++编程领域,集成开发环境(IDE)和调试工具的选择至关重要。本篇将详细介绍如何在Windows环境下,利用Eclipse(一个流行的开源IDE)、CDT(C/C++ ...
为了弥补之前网上资料更新不及时,导致Windows下使用MinGW + yasm环境编译linux下开发的功能库(如ffmpeg)不能正确编译的问题。 本资源里面包含了yasm、MinGW等工具截止目前的最新版本。请各位童鞋根据需要下载。
QtCreator开发环境下(minGW编译器),进行OpenGL编程时使用的第三方库,使用时只需将压缩包内文件夹内容复制到Qt安装目录下的minGW目录下的对应文件夹内,如:D:\Qt5.4\5.4\mingw491_32\bin;并在新建工程的.pro...
标题 "最新Eclipse&CDT + MinGW + Qt 在XP下的安装" 描述了一篇关于在Windows XP操作系统上集成开发环境的搭建过程。这个过程主要包括三个主要组件:Eclipse(一个流行的开源集成开发环境,尤其适合Java开发),CDT...
【标题】: 利用MSYS2安装MinGW+Qt开发环境详解 【描述】: 本文详述了如何在Windows系统中通过MSYS2搭建包含32位和64位,动态库与静态库,以及Qt、Qwt、OpenCV等开发环境的步骤。 【标签】: 互联网,开发环境,...
mingw+cmake+QT+opencv库
mingw+cmake+QT+hdf5库
mingw+cmake+QT的GeographicLib库
Eclipse + MinGW + Qt 安装及问题解决方法 本文总结了在 Windows XP 平台下安装 Eclipse + MinGW + Qt 的步骤和解决方案,以便开发 C++ 项目。在安装过程中遇到的问题和解决方法也进行了总结。 一、下载和安装 Qt ...
Eclipse Juno+mingw+wxWidgets配置详解 Eclipse Juno+mingw+wxWidgets是一种流行的开发环境配置,旨在提高开发效率。下面将详细介绍该配置的步骤和知识点。 安装Eclipse Eclipse是著名的集成开发环境(IDE),...
SciTE是一个多平台下应用的轻量级代码编辑器,这个集成包将Scite与MinGW(实际上是从Dev那里借来的)有效结合,只需放到U盘里,随便将文件夹拷贝到任何地方,只需启动其中的SciTE.exe即可直接编辑代码,保存文件后...
### Windows下MinGW + MSYS + GTK + GLADE + Eclipse 环境搭建详解 #### 一、选择此IDE环境的理由 在选择开发环境时,考虑的因素很多,其中包括成本、可移植性、效率等。本篇文章详细介绍了一种适用于Windows系统...
总的来说,MinGW+MSYS+Flex+Bison的组合为Windows开发者提供了一个强大的开源开发环境,使他们能够在熟悉的Windows系统上利用Unix-like工具链进行C和C++编程,极大地扩展了Windows开发的灵活性和便利性。
MingW和Notepad++是两种在Windows环境下进行C语言编程的必备工具。MingW是一个开源的GNU工具集,它提供了GCC(GNU Compiler Collection)编译器,使得开发者可以在Windows系统下编译C/C++等语言的源代码。Notepad++...