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. python sorted三个例子

    # 例1. 按照元素出现的次数来排序 seq = [2,4,3,1,2,2,3] # 按次数排序 seq2 = sorted(seq, key=lambda x:seq.count(x)) print ...

  2. 蓝牙Remove Bond的流程分析

    此篇文章简单分析一下蓝牙解除配对在协议栈中的工作流程.分析的协议栈版本是Android8.0 协议栈的接口都定义在bluetooth.cc这个文件中: static int remove_bond(c ...

  3. libgdx学习记录23——图片移动选择

    模拟移动选择图片,采用相机实现. package com.fxb.newtest; import com.badlogic.gdx.ApplicationAdapter; import com.bad ...

  4. PowerBI开发 第一篇:设计PowerBI报表

    PowerBI是微软新一代的交互式报表工具,把相关的静态数据转换为酷炫的可视化的,能够根据filter条件,对数据执行动态筛选,从不同的角度和粒度上分析数据.PowerBI主要由两部分组成:Power ...

  5. Java中isAssignableFrom()方法与instanceof()方法用法

    一句话总结: isAssignableFrom()方法是从类继承的角度去判断,instanceof()方法是从实例继承的角度去判断. isAssignableFrom()方法是判断是否为某个类的父类, ...

  6. Jenkins 构建运行java程序

    我们将在Jenkins建立执行一个简单的 HelloWorld 应用程序,构建和运行Java程序.打开网址:http://localhost:8080/jenkins 第1步- 转到Jenkins 仪 ...

  7. 《Linux内核设计与实现》Chapter 1 读书笔记

    <Linux内核设计与实现>Chapter 1 读书笔记 一.Unix的特点 Unix从Multics中产生,是一个强大.健壮和稳定的操作系统. 特点 1.很简洁 2.在Unix系统中,所 ...

  8. 20135323符运锦----第三周:构建一个简单的Linux系统MenuOS

    相关知识点 1.arch目录 占据相当庞大的空间,X86目录下代码需要重点关注. 2.init目录 内核启动的相关代码基本都在此目录下,内含MAIN.C,文件中START_KERNEL是整个LINUX ...

  9. 审评(HelloWorld团队)

    炸弹人:我觉得炸弹人的构想很不错,很像以前玩的qq堂,不过上课时讲的不够深入,我没有找到项目的思路,项目的介绍也很粗糙,后面说的目标很大,希望你可以实现,我觉得越多的功能,就意味着越多的工作量,总的来 ...

  10. element-ui upload组建上传 file-list踩过的坑

    昨天修完了一个上传组件删除时,图片删掉了,但是地址仍然在的bug,今天测试告诉我bug没休掉,what !,昨天修完之后我自测了一下,OK的好吗,但是测试给我演示了一下,问题仍然存在!!!我看了一下调 ...