oracle 11g sdk,OCI和Instant Client SDK和Oracle数据库

抱歉,这个问题太幼稚了,但对于我在该主题上的经历也是如此.

从谷歌搜索我所了解的内容,我只是想确认该理解是正确的.欢迎大家查明我错了.

> OCI基本上是一组API,供C/C++程序员用来编写C/C++

应用程序访问Oracle数据库.

> a)Oracle Instant Client SDK是使用OCI(???)的(DLL /共享库). C/C++

??C/C++程序员编写的代码链接到Oracle Instant Client库&

??因此也使用OCI.

b)即时客户端的好处是减轻了程序员编写某些内容的痛苦

??复杂代码(??).

c)即使C/C++程序员不使用Instant Client库,他们仍然可以使用OCI

??&完成工作(这正确吗?)

d)这是真的吗? C/C++程序员只需要OCI库来编写应用程序即可

??连接到远程Oracle数据库&表操作?我们需要任何ODBC吗

??司机还?如果是,为什么? oci.lib还不够吗?

> FULL Oracle Client&之间有什么区别?即时Oracle客户端?是真的吗

Instant Oracle客户端只是FULL Oracle客户端的一部分吗?

>我无法获得Instant Client的互操作性矩阵

Oracle数据库.在Oracle网站上进行了大量搜索.我唯一能找到的就是链接

到我无法访问的Oracle支持站点.

请澄清我的疑问.提前谢谢了.

最佳答案

简要地:

> OCI是C API库.还有一个名为OCCI的C库,但我不建议这样做(在各种编译器上C ABI更改/方言可能会出现问题)

> Instant和“ thick” Oracle客户端都包含OCI库(OCI.DLL或linclntsh.so). Instant Client提供的服务或多或少是独立的. e.i.它不依赖于Oracle客户端随附的其他库(比较Linux上ldd或Windows上depwalk的输出).

>两者也都包含必要的标题

>两个客户端中的C API实际上是相同的.我记得的唯一例外是一组受支持的数据库本机字符集. InstantClient仅支持UTF8,ISO Latin1和ASCII.

>“ thick”客户端还包含一个名为“ libxml.a”的库,当您要使用数据类型SYS.XMLTYPE时需要该库.该库未(出于某些未知原因)与InstantClient捆绑在一起

>“厚”客户端还包含一些方便的诊断工具,例如tnsping

> InstantClient非常容易“设置”.用户只需解压缩一个.zip文件即可.不必设置ORACLE_HOME PATH LD_LIBRARY_PATH env.变量.您只需dlopen()一个库文件,仅此而已.

> InstanctClient可以在没有tnsnames.ora的情况下工作(尽管它支持它),而不是可以使用类似jdbc的EZCONNECT

>除非您是Oracle业务合作伙伴,否则两种类型的客户端都不能重新分发.因此,您不得在应用程序中嵌入这些驱动程序的库.每个用户必须分别下载然后下载.

>到目前为止,我还没有找到一种如何区分InstantClient OCI.DLL库的C API方法.

>《 Oracle Call Interface程序员指南》中有InstantClient特定部分

>我记得当您设置ORACLE_HOME env时,InstantClient可能存在一些问题.变量,其值以斜杠“ /”结尾(或不结束?)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值