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
感谢分享。