zoukankan      html  css  js  c++  java
  • Python Oracle连接与操作封装

    一、封装方式一

    #encoding:utf-8
    import cx_Oracle
    class Oracle_Status_Output:
        def __init__(self,db_name,db_password,db_tns):
            try:
                self.db = cx_Oracle.connect(db_name,db_password,db_tns)
                self.cursor = self.db.cursor()
            except Exception as e:
                print('Wrong')
                print(e)
        def oracle_status_select(self,sql):
            try:
                self.cursor.execute(sql)
                col=col=self.cursor.description
                v_result=self.cursor.fetchall()
                return v_result,col
            except Exception as e:
                print(e)
        def oracle_status_dml(self,sql):
            try:
                self.cursor.execute(sql)
                self.db.commit()
                print("DML OK")
            except Exception as e:
                print(e)
        def close(self):
            self.cursor.close()
            self.db.close()

    二、封装方式二

    #  coding=utf-8

    import cx_Oracle
    import os
    import json

    os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'
    """python version 3.7"""


    class TestOracle(object):
        def __init__(self, user, pwd, ip, port, sid):
            self.connect = cx_Oracle.connect(user + "/" + pwd + "@" + ip + ":" + port + "/" + sid)
            self.cursor = self.connect.cursor()

        def select(self, sql):
            list = []
            self.cursor.execute(sql)
            result = self.cursor.fetchall()
            col_name = self.cursor.description
            for row in result:
                dict = {}
                for col in range(len(col_name)):
                    key = col_name[col][0]
                    value = row[col]
                    dict[key] = value
                list.append(dict)
            js = json.dumps(list, ensure_ascii=False, indent=2, separators=(',', ':'))
            return js

        def disconnect(self):
            self.cursor.close()
            self.connect.close()

        def insert(self, sql, list_param):
            try:
                self.cursor.executemany(sql, list_param)
                self.connect.commit()
                print("插入ok")
            except Exception as e:
                print(e)
            finally:
                self.disconnect()

        def update(self, sql):
            try:
                self.cursor.execute(sql)
                self.connect.commit()

            except Exception as e:
                print(e)
            finally:
                self.disconnect()

        def delete(self, sql):
            try:
                self.cursor.execute(sql)
                self.connect.commit()
                print("delete ok")
            except Exception as e:
                print(e)
            finally:
                self.disconnect()


  • 相关阅读:
    线性DP
    2020年第十一届蓝桥杯第二场C/C++ B组省赛题解
    筛质数 + 质因子分解
    快速幂
    DP 背包问题
    CF510B Fox And Two Dots
    怎样看人生的价值和意义!--找回迷失的自己
    Ionic+AngularJS 开发的页面在微信公众号下显示不出来原因查究
    AngularJS directive 指令相关记录
    AngularJS的一点学习笔记
  • 原文地址:https://www.cnblogs.com/xibuhaohao/p/10570048.html
Copyright © 2011-2022 走看看