cx_Oracle的使用

1、系统需要有 oracle 的 instant client(实例客户端)

2、安装cx_Oracle模块

Linux为例:

instantclient-basic-linux.x64-12.2.0.1.0.zip //从oracle官网下载此文件,版本请自行匹配

unzip instantclient-basic-linux.x64-12.2.0.1.0.zip

mkdir /opt/oracle

cd instantclient_12_2

mv ./* /opt/oracle/

export LD_LIBRARY_PATH='/opt/oracle'

//一定要配置动态链接库路径,否则连接数据库会报共享库找不到 //一劳永逸的方法是写到用户的 ~/.bash_profile 里面

pip install cx_Oracle

python

>>>import cx_Oracle #导入oracle的模块 >>>conn = cx_Oracle.connect('username/password@host/orcl') #连接数据库 >>>cursor = conn.cursor() #获得游标 >>>sql = "select table_name from user_tables" #构造语句 >>>cursor.execute(sql) #执行语句 >>>res = cursor.fetchall() #解析结果

>>>sql2 = "insert into area0(id,name) values('1','area0')" #构造语句 >>>cursor.execute(sql2) #执行语句 >>>conn.commit() #提交执行,默认autocommit是False,需要手动commit >>>cursor.close() #关闭游标 >>>conn.close() #关闭连接

车祸现场: 客户端的主机名要在/etc/hosts 和 /etc/sysconfig/network 和 hostname 中 保持一致,否则会报错 ora-24454 发图不便,这里以文字代替 cx_Oracle.DatabaseError: ORA-24454: client host name is not set

评论 1