千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 除了cx_Oracle,python还可以通过什么方式访问Oracle数据库?

除了cx_Oracle,python还可以通过什么方式访问Oracle数据库?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 12:23:27 1697171007

一、除了cx_Oracle,python还可以通过什么方式访问Oracle数据库

理论上,用其他任何方式(库、语言)访问Oracle的方式,你都可以用于Python中,这个神器叫做SWIG(http://www.swig.org/),它提供了C++Java/Python等诸多语言的互相调用的适配库生成。Oracle本身自带C/C++Java接口,你可以进行简单封装后,用SWIG包装。这种重复造轮子的工作不建议采用,wx_Oracle是很简单的方法。

或者通过jaydebeapi来实现。

核心代码:

>>> import jaydebeapi

>>> conn = jaydebeapi.connect(“org.hsqldb.jdbcDriver”,

…                           “jdbc:hsqldb:mem:.”,

…                           [“SA”, “”],

…                           “/path/to/hsqldb.jar”,)

>>> curs = conn.cursor()

>>> curs.execute(‘create table CUSTOMER’

…              ‘(“CUST_ID” INTEGER not null,’

…              ‘ “NAME” VARCHAR(50) not null,’

…              ‘ primary key (“CUST_ID”))’

…             )

>>> curs.execute(“insert into CUSTOMER values (?, ?)”, (1, ‘John’))

>>> curs.execute(“select * from CUSTOMER”)

>>> curs.fetchall()

[(1, u’John’)]

>>> curs.close()

>>> conn.close()

简单来说,目前几乎所有的数据库都是支持jdbc的,因此几乎都能找到相应的jar包,通过jaydebeapi这个库,只需要把jra放到指定的位置,然后在程序中使用它即可连接数据库。

优点:

1.支持的数据库种类多,只要有jar包就可以。

2.不需要关心过于程序的运行环境,只要是相同平台下编译出来的包,复制过来就可以直接运行。

缺点:

打包的时候需要连同jar包一起打,可能会导致安装包过大。

延伸阅读:

二、什么是数据库

有组织且相互关联的数据的集合称为数据库。database 是一个存储数据的应用程序。它有各种应用程序,包括 MySQL、Microsoft SQL、Oracle 等。

每个数据库都不同,因为每个公司/组织都有其结构、数据类型和约束。数据库 会定期更新,以获取有关公司的最新数据。

数据库可以手动和数字方式维护。在这个数据无处不在的时代,数字数据库是优选和使用。数据库的大小取决于组织的数据和需求。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁?

一、如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁没听说有列锁的机制,主流的方式就是行锁。我觉得你这种需求可以归到“...详情>>

2023-10-13 14:18:11
PC端网站,手机版网站,APP,三者可以实现共用同一数据库,能同步更新吗?

一、PC端网站,手机版网站,APP,三者可以实现共用同一数据库同步更新一般网站实现pc端与移动端适配的需求,方案有两个:1、一套页面,从设计时...详情>>

2023-10-13 14:10:53
怎么看待oracle的exadata与share nothing系列的hadoop等,以及优缺点相互对比、各自的前途对未来的影?

一、怎么看待oracle的exadata与share nothing系列的hadoop等exadata的架构我也仔细思考过很久,个人愚见,exadata引进了部分MPP思想,当并非MPP...详情>>

2023-10-13 13:58:16
MySQL数据库char类型的长度是什么意思?

一、MySQL数据库char类型的长度是什么意思MySQL数据库char类型的长度是指该字段所占用的字节数。char数据类型是MySQL中固定长度的字符类型。 我...详情>>

2023-10-13 13:51:32
“数据库”领域里面的“数据字典”到底是什么?

一、“数据库”领域里面的“数据字典”到底是什么数据字典是一个存放有数据库所用的有关信息,在数据库设计的初期将数据库中的各类数据的描述集...详情>>

2023-10-13 13:49:07
快速通道