- 主题:[求助] C++访问oracle等数据,需要用哪个库呀?
访问oracle, mysql, hive, clickhouse都要需要哪些库呀?
--
FROM 112.65.12.*
ORACLE全提供呀。
一个PROC库,用于嵌入式SQL编程。
一个OCI库,用于C接口,底层一点,效率高,使用略微复杂。
一个OCCI库,C++接口,有点像JAVA的JDBC。
另外,所有数据库都可以通过ODBC接口。
【 在 wakaka1122 的大作中提到: 】
: 访问oracle, mysql, hive, clickhouse都要需要哪些库呀?
--
修改:ylh1969 FROM 117.136.78.*
FROM 117.136.78.*
受教了,我还找到两个库操作oracle:
ADO(ActiveX Data Object) 和 libodb-oracle-2.4.0
请问这2个库,和occi比,哪个好呢?
【 在 ylh1969 的大作中提到: 】
: ORACLE全提供呀。
: 一个PROC库,用于嵌入式SQL编程。
: 一个OCI库,用于C接口,底层一点,效率高,使用略微复杂。
: ...................
--
FROM 112.65.12.*
oracle和db2有个1996年开始开发的C++模板库OTL
Oracle, Odbc and DB2-CLI Template Library, Version 4.0
--
FROM 114.241.228.*
我没用过。
我只用过OCI,即使C++,也是OCI。
PROC也可以用在C++。但是PROC多线程特困难。
oci多线程好用。
【 在 wakaka1122 的大作中提到: 】
: 受教了,我还找到两个库操作oracle:
: ADO(ActiveX Data Object) 和 libodb-oracle-2.4.0
: 请问这2个库,和occi比,哪个好呢?
: ...................
--
修改:ylh1969 FROM 223.104.196.*
FROM 223.104.196.*
请问 proc 是指存储过程吗?
OCI的调用,需要考虑线程安全吗?
【 在 ylh1969 的大作中提到: 】
: 我没用过。
: 我只用过OCI,即使C++,也是OCI。
: PROC也可以用在C++。但是PROC多线程特困难。
: ...................
--
FROM 112.65.12.*
PRO*C,一个嵌入式SQL预处理工具,结果是C语言。多线程可以但是很麻烦,要切换环境。
OCI是在初始化时设置多线程模式,每个线程自己设置自己的,互不干扰。
也可以由一个线程构建连接池,各个线程取用,非常方便。
等节后回家给你找几个OCI的例子。
【 在 wakaka1122 的大作中提到: 】
: 请问 proc 是指存储过程吗?
: OCI的调用,需要考虑线程安全吗?
:
--
修改:ylh1969 FROM 119.180.155.*
FROM 119.180.155.*
【 在 wakaka1122 的大作中提到: 】
: 请问 proc 是指存储过程吗?
: OCI的调用,需要考虑线程安全吗?
:
看了一下,OCI的使用挺复杂的。
我是包装两层才方便使用。
一层是完成一个动作,需要把一大堆相关的语句集合成一个函数。
第二层是隔离各种数据库的差异,比如ORACLE,DB2,MYSQL,都用同一组函数处理。
当然使用ODBC也可以隔离各种数据库的差异。
第一层包装用了一个开源软件sqlora8,一个德国人搞的,后来停止服务了。但是一直可以用,从ORACLE8开始直到11G都行。12C以后我没有用过,应该问题不大。
百度一下sqlora8,configure时可以设定64位。
但是这东西效率是真的高。就如简单的大数据下载,性能是PRO*C的2.5倍。
本来想分享一些内容,但是发不出来。
自己百度一下sqlora8吧。
--
修改:ylh1969 FROM 221.218.60.*
FROM 221.218.60.*
-lclntsh 就是OCI库
【 在 wakaka1122 的大作中提到: 】
: 访问oracle, mysql, hive, clickhouse都要需要哪些库呀?
--
FROM 221.218.60.*