Oracle和SQLite就不一样了,需要服务端和客户端,且只能支持11g及以后的版本。
Oracle是收费的,新版的MySQL也一样,而且很贵很贵很贵,嗯。我等穷人自然是玩不起的。现在一些Linux发行版也不再安装Mysql,而是改用了MariaDB。(MariaDB和MySQL出自同一位大佬,当初Mysql卖给了甲骨文,他就担心会变成收费版,所以新创建了MariaDB)

虽然玩不起,但是对于有实际业务需要的人,还是可以一看。首先服务器端就不说的,我也没法演示。作为运行Python程序的本机,自然是安装客户端了。

Python操作Oracle数据库的包是第三方的cx_Oracle,也就是说需要通过pip进行安装,由于我本地已经安装了,所以建立一个虚拟环境测试下安装过程。
D:\>python -m venv venvD:\>cd venv\ScriptsD:\venv\Scripts>activate(venv) D:\venv\Scripts>pip install cx_Oracle

>>> import cx_Oracle #没有发生异常
退出虚拟环境
>>> exit()(venv) D:\venv\Scripts>deactivate.batD:\venv\Scripts>
前面说过,连接数据库基本都符合DB API 2.0协议,所以连接Oracle也是这个过程。

不过SQLite是建立于本地的文件,所以对访问方式类似于open()操作,Oracle是需要通过本地客户端连接远端服务器,所以connect方式自然有所不同。
接触过相关内容的会知道连接数据库需要知晓tns设定,并把服务器host,端口等信息加入到tnsnames.ora文件内,才能正确访问。
连接数据格式如下
connect = cx_Oracle.connect("username/password@host:port/service_name")
剩下的,创建新游标connect.cursor(),cursor.execute(),cursor。fetch(),cursor.close(),connect.close()等等则是大同小异。
由于Oracle的使用场景一般服务于大型机构,且对数据安全有很高的要求,主要还是得有钱。
公司的Oracle不管是正式环境还是测试环境,都属于数据保密,所以就没有实际演示的部分。
创作不易,请大家多多关注、点赞、在看三连支持,谢谢~~




