首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oracle9i中OCCI在VC6下不能DEBUG的问题及解决方法
【标  题】:Oracle9i中OCCI在VC6下不能DEBUG的问题及解决方法
【关键字】:Oracle9i,OCCI,VC6,DEBUG
【来  源】:http://blog.csdn.net/iihero/archive/2006/08/20/1099908.aspx

Oracle9i中OCCI在VC6下不能DEBUG的问题及解决方法

前段时间,在csdn论坛上看到有人问OCCI在VC6下不能debug的问题,这个确实有解决方法。
论坛原帖大致内容如下:
winXP VC6-sp6 oracle9.2

是不是OCCI的库有 开发版和发行版 之分,所以用发行版的oraocci9.lib不能做debug版的程序,string或者vector在释放时总会报错

Statement类的setXXX()函数为什么我在使用的时候不管用呢?

文档说NUMBER类型也可以和string转换

while(rs->next())
{
for(i=0; i<colsize; i++)
{
cout <<rs->getString(i+1) <<'\t';
}
cout <<endl;
}
这个程序段中,为什么第一行中的NUMBE类型都正常的读出了,但是从第二行开始就不正确了呢
如果我在while()前先next()几次,仍然是当前循环中的第一行的所有的number类型都正常读出,从第二行开始就又不正常了

在三年以前我曾经使用OCCI开发过一些底层应用,其基本的解决方法如下:
vc6的那个默认的步骤debug肯定行不通。因为OCCI不按这种配置来compile.
步骤如下:
1. 确保oci.lib, oraocci9.lib在你的lib路径下边,确保oci/include在你的include路径下边
2. 确保有下边的宏声明:(#define WIN32COMMON)
#ifdef WIN32COMMON
   template <class T>
   void getVector( ResultSet *rs, unsigned int index,
     OCCI_STD_NAMESPACE::vector< T > &vect) ;
#else
  template <class T>
    void getVector( ResultSet *rs, unsigned int index,
      OCCI_STD_NAMESPACE::vector< T* > &vect) ;
#endif

3.这一步最重要,要与VC6的默认配置相区别:
在project settings的WIN32 DEBUG的"link"下边,将Category: Input下边的
Object/library modules:
 改为kernel32.lib user32.lib oci.lib msvcrt.lib msvcprt.lib oraocci9.lib (顺序不能错)
 同时,勾上Ignore all default libraries,
 并在Ignore libraries上边填上边libc.lib
这要build出来以来,执行是不会出现堆错误的。并且可以debug。
使用occi与其它库进行集成时,尤其要注意这些配置,有的时候甚至出现不相容的情况。所以要根据实际情况进行选择。

当然,你可以使用MTD, MD方式来build。
到了VC7以后,OCCI相应的要求就少多了。
linux下当初OCCI是有很多bug的,除非打了9205及以后的补丁,不然,你几乎无法正常使用。
如果有再碰到类似问题,请及时回馈。

ADO.NET数据库操作小记:【上一篇】
使用oracle数据源错误一解:【下一篇】
【相关文章】
  • Oracle9i优化器介绍
  • 用VC6和Install Shield6.2进行自动化构建
  • job debug method
  • 【编程】技巧 - Inside CRT: Debug Heap Management(转帖)
  • AIX5.3+HACMP+Oracle9I+Weblogic8.1安装实施报告
  • VS.Net 2003/VC6.0常用快捷键集合
  • vc6用isapi的filter实现url重定向功能
  • Oracle9i初始化参数中文说明(1)
  • Oracle9i初始化参数中文说明(2)
  • Oracle9i初始化参数中文说明(3)
  • 【随机文章】
  • 为了求职,记住吧
  • Oracle startup FOR HP-UN
  • PostgreSql存储过程
  • 学习C++的建议(Suggestions for learning C++)
  • SA399第二章读书笔记
  • 如何在外置 USB 硬盘中安装ubuntu
  • 使用java正则表达式寻找密码
  • 改造CATV网 实现三网合一
  • SQL Server备份问题总结
  • 谈谈对水晶报表的看法
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.