zoukankan      html  css  js  c++  java
  • py读取Oracle数据库数据方法

    # -----------------封装读取Oracle数据库数据-----------------
    # coding:utf-8
    import cx_Oracle
    import os

    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    print("cx_Oracle版本:", cx_Oracle.clientversion())

    u'''Oracle数据库相关操作
    连接数据库名称如:xxx
    查询数据:oracle_getrows
    查询某个字段对应的字符串:oracle_getstring
    执行sql语句:oracle_sql
    关闭oracle连接:oracle_close
    '''
    dbname = {"user": "wapn_czth",
    "pwd": "123456",
    "dsn": "127.0.0.1:1521/ORCL"}

    class OracleUtil():
    def __init__(self):
    ''' 连接池方式'''
    self.db_info = dbname
    self.conn = OracleUtil.__getConnect(self.db_info)

    @staticmethod
    def __getConnect(db_info):
    ''' 静态方法,从连接池中取出连接'''
    try:
    con = cx_Oracle.connect(db_info['user'], db_info['pwd'], db_info['dsn'])
    return con
    except Exception as a:
    print("数据库连接异常:%s"%a)

    def oracle_getrows(self, sql):
    ''' 执行查询sql'''
    try:
    cursor = self.conn.cursor()
    try:
    cursor.execute(sql)
    rows = cursor.fetchall()
    return rows
    except Exception as a:
    print("执行sql出现异常:%s"%a)
    finally:
    cursor.close()
    except Exception as a:
    print("数据库连接异常:%s"%a)

    def oracle_getstring(self, sql):
    ''' 查询某个字段的对应值'''
    rows = self.oracle_getrows(sql)
    if rows != None:
    for row in rows:
    for i in row:
    return i

    def oracle_sql(self, sql):
    ''' 执行sql语句'''
    try:
    cursor = self.conn.cursor()
    try:
    cursor.execute(sql)
    except Exception as a:
    print("执行sql出现异常:%s" % a)
    finally:
    cursor.close()
    except Exception as a:
    print("数据库连接异常:%s" % a)


    def orcle_close(self):
    ''' 关闭orcle连接'''

    try:
    self.conn.close()
    except Exception as a:
    print("数据库关闭时异常:%s"%a)

    if __name__ == "__main__":
    oracl = OracleUtil()
    sql = "select t.union_id from th_user_info t where t.union_id is not null"
    s = oracl.oracle_getrows(sql)
    print(type(s))
    for j in s:
    for i in j:
    r = print("union_id:", i)

    oracl.orcle_close()
  • 相关阅读:
    2.Android之按钮Button和编辑框EditText学习
    《DSP using MATLAB》Problem 3.8
    《DSP using MATLAB》Problem 3.7
    《DSP using MATLAB》Problem 3.6
    《DSP using MATLAB》Problem 3.5
    《DSP using MATLAB》Problem 3.4
    《DSP using MATLAB》Problem 3.3
    《DSP using MATLAB》Problem 3.2
    《DSP using MATLAB》Problem 3.1
    《DSP using MATLAB》Problem 2.20
  • 原文地址:https://www.cnblogs.com/wapn/p/9613519.html
Copyright © 2011-2022 走看看