理论上,用其他任何方式(库、语言)访问Oracle的方式,你都可以用于Python中,这个神器叫做SWIG(http://www.swig.org/),它提供了C++/Java/Python等诸多语言的互相调用的适配库生成。Oracle本身自带C/C++/Java接口,你可以进行简单封装后,用SWIG包装。
一、除了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 等。
每个数据库都不同,因为每个公司/组织都有其结构、数据类型和约束。数据库 会定期更新,以获取有关公司的最新数据。
数据库可以手动和数字方式维护。在这个数据无处不在的时代,数字数据库是优选和使用。数据库的大小取决于组织的数据和需求。