python oracle 运维,mysql oracle python连接

该博客展示了如何使用Python进行Oracle和MySQL数据库的连接与操作。通过`OracleLogin`和`MysqlLogin`类,实现了数据查询、执行SQL和存储过程的功能。示例中,代码成功连接到MySQL数据库并从tablename表中获取了前10条数据。
摘要由CSDN通过智能技术生成

#encoding:utf-8

#dataProc

#auth xiajikun

import sys

# oracle库连接模块

import cx_Oracle

# mysql库连接

import MySQLdb

import time

import os

#水电煤库

# SDM = 'username/password@ip:port/servicename'

DB_ORA_STR = 'admin/123456@10.1.1.2:1521/c9db1111'

# oracle连接

class OracleLogin(object):

#初始化,创建连接数据库对象

def __init__(self, loginName):

#--建立连接

self.conn = cx_Oracle.connect(loginName)

#--获取游标

self.cursor = self.conn.cursor()

self.l_v_status = self.cursor.var(cx_Oracle.NUMBER)

self.l_v_return_code = self.cursor.var(cx_Oracle.STRING)

self.l_v_sno = self.cursor.var(cx_Oracle.STRING)

#查询sql方法

def selectSql(self, sql):

self.cursor.execute(sql)

self.result_sql = self.cursor.fetchall()

self.count = self.cursor.rowcount

self.conn.commit()

#执行sql方法

def execSql(self,sql):

self.cursor.execute(sql)

self.conn.commit()

#执行存储过程方法

def getMetaData(self,procdName, sql, procArgs):

self.procResult = self.cursor.callproc(procdName, procArgs)

self.cursor.execute(sql)

self.result_pro = self.cursor.fetchall()

self.count = self.cursor.rowcount

self.conn.commit()

#无用时自动析构此对象

def __del__(self):

self.cursor.close()

self.conn.close()

# mysql连接

class MysqlLogin(object):

#初始化,自动连接数据库

def __init__(self, db_str):

# self.conn = MySQLdb.connect(host='10.7.11.242',user='credcard',passwd='5sFVDVCeKo',db='credcard',port=3320)

self.conn = MySQLdb.connect(host=db_str[0],user=db_str[1],passwd=db_str[2],db=db_str[3],port=db_str[4])

#self.conn = MySQLdb.connect('%s' % db_str)

#self.conn = MySQLdb.connect('%s,%s,%s,%s,%d' % (db_str)

self.cur = self.conn.cursor()

def exec_sql(self, sql):

self.cur.execute(sql)

self.conn.commit()

def select_sql(self, sql):

self.cur.execute(sql)

self.tmpdata = self.cur.fetchall()

#自动断开游标和连接

def __del__(self):

self.cur.close()

self.conn.close()

db_str = ('10.1.1.1','username','123456','db_name',3306)

db_obj = MysqlLogin(db_str)

sql = 'select * from tabname limit 10'

db_obj.select_sql(sql)

print db_obj.tmpdata

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值