Oracel安装(windows 64位)

1. 首先确定版本。

2. 下载instantclient,下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

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

变量名 ORACLE_HOME

变量名 TNS_ADMIN

变量名 NLS_LANG

SIMPLIFIED CHINESE_CHINA.ZHS16GBK

变量名 Path

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

3. 下载cx_Oracle, 这个是一个Python的扩展包,用来访问Oracle数据库的。  https://pypi.python.org/pypi/cx_Oracle/5.2.1

Oracel安装(centos 6.6)

1. 首先确定版本。

2. 下载instantclient-basic。下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

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.zip
unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip
unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

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

export ORACLE_HOME=/home/oracle/instantclient_11_2
export PATH=$ORACLE_HOME:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
export 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数据库的。  https://pypi.python.org/pypi/cx_Oracle/5.2.1

tar -xvf  cx_Oracle-5.2.1.tar.gz
cd cx_Oracle-5.2.1
python setup.py install

5.导入测试

import cx_Oracle

代码

# -*- coding: utf-8 -*-

import cx_Oracle
from east_web import settings
from east_web.log_config import django_logger as logger class 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_all def main():
oracle = Oracle()
oracle.ogg_process_lag("SELECT * FROM table")
print oracle.fetchmang(7) if __name__ == '__main__': main()

python oracle使用心得的更多相关文章

  1. python urllib2使用心得

    python urllib2使用心得 1.http GET请求 过程:获取返回结果,关闭连接,打印结果 f = urllib2.urlopen(req, timeout=10) the_page = ...

  2. java python oracle推断字符串是否为数字的函数

    java public boolean isNumeric(String str){ Pattern pattern = Pattern.compile("^-?[0-9]+\\.?[0-9 ...

  3. 安装Oracle数据库心得

    学到Oracle数据库了,想在自己电脑上安装个Oracle数据库.在网上下载了一个Oracle18c版 下边是我安装Oracle18c版的数据库失败,后来在卸载过程中遇到的问题: 1.用Univers ...

  4. Python oracle乱码问题

    Python使用cx_oracle连接oracle查询汉字时出现乱码 解决方式: import os os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHIN ...

  5. Python Oracle数据库监控

    有的时候无法使用Oracle自带的OEM监控,那么就需要确定一个监控方案. 此方案,使用Python+Prometheus+Grafana+Oracle 1.监控配置表 -- Create table ...

  6. Python unittest模块心得(一)

    关于unittest模块的一些心得,主要是看官网的例子,加上一点自己的理解,官网地址:https://docs.python.org/3.6/library/unittest.html 基础概念介绍: ...

  7. python爬虫学习心得:中国大学排名(附代码)

    今天下午花时间学习了python爬虫的中国大学排名实例,颇有心得,于是在博客园与各位分享 首先直接搬代码: import requests from bs4 import BeautifulSoup ...

  8. Python树莓派 爬虫心得

    平台: 树莓派 linux 语言:python 搞一个爬虫都清楚是怎么回事,我这里玩过之后有下面的心得: 为什么要用树莓派呢,省电啊,没乱七八糟的桌面问题,可以一直开着. 1.树莓派上的磁盘写入对于不 ...

  9. python模块学习心得

    初始模块 1.什么是模块 模块是用来实现某项功能的一大堆代码,为什么会有模块呢?过程式编程的时候为了减少程序员编程代码的重复性,就利用函数的调用减少了代码的重复性,但是某些时候程序会过于的庞大,我们会 ...

随机推荐

  1. maven 相关问题

    maven 这里要更新完 不一定非要clean install  那个出问题了再弄,一般刷新一下maven仓库就行了,最好还是用自己配置的maven,不容易出问题

  2. 【RDB】MariaDB 之事务、复制、集群

    目录 简介 安装启动 权限 事务 脏读.不可重复读.幻读 MVCC 复制 异步复制 半同步复制 GTID复制 集群(Galera) 配置 监控(Zabbix) 简介 环境: CentOS 7.4.17 ...

  3. 阿里云ECS 固定带宽变为按量付费的方式

    阿里云ECS 固定带宽变为按量付费的方式 阿里云控制台 2.升降配置-降低配置-降低至最低配置 3.为按量带宽设置一个峰值,例如100M. 4.过几分钟,就自动变为按量付费的带宽了.

  4. [SHELL]输入输出重定向与管道

    一 . 输出重定向(将命令的输出重定向到文件): ls -al > test 以覆盖的方式写入 ls -al >> test 以追加的方式写入 二 . 输入重定向(将文件的内容重定向 ...

  5. 数据中心网络(1)-VXLAN

    想写个DC系列的文章,站在传统路由交换网络基础上谈谈数据中心网络,一方面是给自己的学习做下总结,另一方面也想分享一些东西. 谈到数据中心网络,能想到的东西无非就VXLAN.SDN.NFV.EVPN这些 ...

  6. 基于tensorflow2.0 使用tf.keras实现Fashion MNIST

    本次使用的是2.0测试版,正式版估计会很快就上线了 tf2好像更新了蛮多东西 虽然教程不多 还是找了个试试 的确简单不少,但是还是比较喜欢现在这种写法 老样子先导入库 import tensorflo ...

  7. unity上传app store遇到的一些问题

    记录ios发布时遇到的一些问题 注:如果你是用mac开发,那就在Unity里直接BuildAndRun就直接可以导到XCode里,如果是win,那就先打包成ios包,在传导Xcode里打开,不过可能会 ...

  8. Linux 第三周 学习笔记和实验

    姬梦馨 原创博客 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 常用调试参数 r(run) 开始运行程 ...

  9. Linux内核分析作业二

    贾瑗 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000  一.操作系统是如 ...

  10. 2013长春网赛1005 hdu 4763 Theme Section(kmp应用)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4763 题意:给出一个字符串,问能不能在该串的前中后部找到相同的子串,输出最长的字串的长度. 分析:km ...