博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python oracle使用心得
阅读量:6441 次
发布时间:2019-06-23

本文共 3028 字,大约阅读时间需要 10 分钟。

Oracel安装(windows 64位)

1. 首先确定版本。 

2. 下载instantclient,下载地址:

 

解压到指定目录,加入环境变量

变量名 ORACLE_HOME

变量名 TNS_ADMIN

变量名 NLS_LANG   

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

变量名 Path

在解压的oracle目录instantclient_11_2/network/admin创建tnsnames.ora文件,写入连接数据库地址

3. 下载cx_Oracle, 这个是一个Python的扩展包,用来访问Oracle数据库的。  

 

 

Oracel安装(centos 6.6)

1. 首先确定版本。 

2. 下载instantclient-basic。下载地址:

instantclient-basic-linux.x64-11.2.0.4.0.zip

instantclient-sdk-linux.x64-11.2.0.4.0.zip

instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

3. 安装和环境变量配置

unzip instantclient-basic-linux.x64-11.2.0.4.0.zipunzip instantclient-sdk-linux.x64-11.2.0.4.0.zipunzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

instantclient_11_2目录下network/admin创建tnsnames.ora文件,写入连接数据库地址

export ORACLE_HOME=/home/oracle/instantclient_11_2export PATH=$ORACLE_HOME:$PATHexport TNS_ADMIN=$ORACLE_HOME/network/adminexport LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATHexport NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

创建软连接

ln -s /home/oracle/instantclient_11_2/libclntsh.so.11.1 /home/oracle/instantclient_11_2/libclntsh.so

4. 下载cx_Oracle, 这个是一个Python的扩展包,用来访问Oracle数据库的。  

tar -xvf  cx_Oracle-5.2.1.tar.gzcd cx_Oracle-5.2.1python setup.py install

5.导入测试

import cx_Oracle

 

代码

# -*- coding: utf-8 -*-import cx_Oraclefrom east_web import settingsfrom east_web.log_config import django_logger as loggerclass Oracle(object):    def __init__(self):        self.__username = settings.ORACLE_CONN['USERNAME']        self.__password = settings.ORACLE_CONN['PASSWORD']        self.__host = settings.ORACLE_CONN['HOST']        self.__port = settings.ORACLE_CONN['PORT']        self.__tnsname = settings.ORACLE_CONN['TNSNAME']        self.cursor = self.connect()    def connect(self):        """        连接数据库, 获取游标        语法: cx_Oracle.connect('username','pwd','IP/HOSTNAME:PORT/TNSNAME')        或        cx_Oracle.makedsn(IP,PORT,TNSNAME)        cx_Oracle.connect(username,pwd,dsn)        """        try:            dsn = cx_Oracle.makedsn(self.__host, self.__port, self.__tnsname)            conn = cx_Oracle.connect(self.__username, self.__password, dsn)            # self.__conn = cx_Oracle.connect(self.__username, self.__password,            #                   self.__host + ':' + self.__port + '/' + self.__service_name)            cursor = conn.cursor()            return cursor        except Exception as err:            logger.error(err)    def ogg_process_lag(self, sql):        """        :param sql:        :return: 执行sql        """        self.cursor.execute(sql)    def fetchone(self):        """        :return: 返回第一条数据        """        res_one = self.cursor.fetchone()        return res_one    def fetchmang(self, n):        """        :param n:        :return: 返回第n条数据        """        res_mang = self.cursor.fetchmany(n)        return res_mang    def fetchall(self):        """        :return: 返回所有数据        """        res_all = self.cursor.fetchall()        return res_alldef main():    oracle = Oracle()    oracle.ogg_process_lag("SELECT * FROM table")    print oracle.fetchmang(7)if __name__ == '__main__':    main()

 

转载地址:http://mqdwo.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
LVS之NAT模型配置实验
查看>>
nginx 报错 99: Cannot assign requested address
查看>>
几种流行的AJAX框架:jQuery,Mootools,Dojo,Ext JS的对比
查看>>
Socket-Client通信
查看>>
Maven搭建简单的SS项目
查看>>
#我要上首页# 新版博客首页来了,做明星博主还会远吗?
查看>>
PHP缓存技术
查看>>
关于SOCKET资源堆栈
查看>>
笔记 百度搜索
查看>>
控制台 - 网络管理之华为交换机 S系列端口限速
查看>>
我的友情链接
查看>>
linux为启动菜单加密码
查看>>
MySQL5.5编译方式安装实战
查看>>
细谈Ehcache页面缓存的使用
查看>>
GridView如何设置View的初始样式
查看>>
Placeholder in IE8 and older
查看>>
SQL语句字符串处理大全
查看>>
环境变量的作用,为什么要设置环境变量?
查看>>
从尾到头打印单链表
查看>>