linux g++ otl 连接oracle 数据库简单例子.docVIP

linux g++ otl 连接oracle 数据库简单例子.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 下Otl 连接oracle的简单例子 这个otl弄的很纠结的了,上网上在linux 下只见有例子 ,但是都没见有编译的命令出现,搞得一直没有编译通过。不过最后终于弄好了 编译的时候出现的几个问题了: 1 otl_connect otl_connect was not declared in this scope 还有not a type 2 /oci.h:461:23: error: oratypes.h: No such file or directory 3 undefined reference to `OCIServerDetach 等 等等 主要的问题还是一些头文件没有被包含进去 下面参照一个例子来说明: //文件名称:otloracle.cpp #include stdio.h //c的标准头 #include iostream//c++头文件 #define OTL_ORA10G //指定连接的数据库类型 这个是必须的了, //且注意了 这些宏必须定义在 #include otlv4.h,不然编译时会报otl_connect not a type // 即说:otl_connect 并不是一种类型,但是当你去 otlv4.h 中去查看时,确实有这么的一 //个类 //相关的宏定义列表 /otl3_compile.htm #define OTL_ANSI_CPP //使用标准的c++库 #define ConnectDb tspdb/tspdb@tspdb //我的数据连接的用户和密码以及ORACLE_SID #include otlv4.h //这个就是otl的库了 使用otl只有这么一个头文件 ,相关缺少的库文件在编译的时候需要再去查,一般oracle 就是一个libclntsh.so //#include oci.h //这个没什么用,不需要 using namespace std; //标准的I/O命名空间 char strSelect[100]={select businum,businame,crt_date from m01_busi_type}; //查询的语句 otl_connect oracledb; //定义个数据库连接实例 int selectDB() //查询的函数 { otl_stream oraout(100,strSelect,oracledb); int count=0; char myfeild1[64]=; char myfeild2[64]=; char myfeild3[64]=; coutbusinum businame crt_dateendl; while(!oraout.eof()) { oraoutmyfeild1; oraoutmyfeild2; oraoutmyfeild3; count++; coutmyfeild1 myfeild2 myfeild3endl; } return 0 ; } int main() { try{ otl_connect::otl_initialize(); //初始化,这个是必须的了,注意了前面是 otl_connect oracledb.rlogon(ConnectDb); //连接数据库 cout======== start to select table record ====endl; selectDB();//执行查询语句 } catch(otl_exception p) { cerrp.msgendl; cerrp.stm_textendl; cerrp.var_infoendl; } oracledb.logoff(); return 0; } 下面makefile: otloracle: g++ -g -I. -I/oradb/ora10g/oracle/product/10.2.0/db_1/rdbms/public/ -L/oradb/ora10g/oracle/product/10.2.0/db_1/lib/ -lclntsh -o otloracle otloracle.cpp 说明: 这里面的 -I. 因为我的otlv4.h 和otloracle.cpp在一个目录下 -I/oradb/ora10g/oracle/product/10.2.0/db_1/rdbms/public/ 这个也是必须的 不包含则编译报错:(即oratypes.h等头文件是在/oradb/ora10g/ora

文档评论(0)

勤能补拙 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档