Python 操作 Oracle 数据库

环境:皇家国际:www.juda17.com
系统:macOS Mojave
Python:Python 2.7.10
Docker安装Oracle

以前都是使用的Mysql,换工作后公司使用的都是Oracle,慢慢熟悉下Oracle的运维,发现安装一个Oracle环境还是比较费事的,就想直接在docker里面运行。

因为版权问题,DockerHub上面的Oracle镜像很多都没有默认安装的,需要手动下载安装包,启动镜像然后安装才能使用。

在网上找了很久,找到一个helowin打包好的镜像,安装步骤如下:

首先在docker环境下载镜像

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
启动容器

docker run -d --name oracle11g -p 1521:1521 -v /opt/data/oracle:/home/oracle/app/oracle/oradata/ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

/home/oracle/app/oracle/oradata/为容器数据文件位置

创建账号

docker exec -it oracle11g /bin/bash

docker里面操作

sqlplus / as sysdba

oracle连接成功后

create user hixuxu identified by hixuxu ;
grant dba to hixuxu;
使用cx_Oracle操作Oracle数据库

模块安装

pip install cx_oracle
macOS安装连接

下载 : instantclient-basic-macos.x64-11.2.0.4.0.zip

unzip instantclient-basic-macos.x64-11.2.0.4.0.zip
mkdir ~/lib
cp ./instantclient_11_2/{libclntsh.dylib.11.1,libnnz11.dylib,libociei.dylib} ~/lib/
Oracle的连接

import cx_Oracle

db = cx_Oracle.connect('hixuxu/hixuxu@127.0.0.1/helowin')
print db.version

vs = db.version.split('.')
print vs
if vs[0] == '11':
print "This is Oracle 11g!"
db.close()

讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!