python 访问 oralce 和mysql 的两个工具类

oracle:  python test_python_cx_Oracle.py renxp renxp 172.17.18.164:1521/orcl

 

#!/usr/bin/python
 
# Copyright Platform Computing Inc., an IBM company, 2012 
 

import sys  
import string   
import os  
import time 
import cx_Oracle as oraledb
    
# -----------------------------------------
# utility functions
# -----------------------------------------
        
class ISFDB:
    """ 
    A class for handling the ISF database connection.
    """ 
    def __init__(self, user=None, passwd=None, url=None):
        """
        Init
        """ 
               
        self.dbuser = user
        self.dbpasswd = passwd
        self.dburl  = url
        
        self.__dbconn = None
                
        if self.dbuser:
            return
        
    def connect(self, exit=True):
        """ Connect to ISF database
        """

        try:
            self.__dbconn = oraledb.connect(self.dbuser, self.dbpasswd, self.dburl)
        except Exception, e: 
            print "Failed to connect to ISF database %s" %self.dburl
            print e
            if exit:
                sys.exit(1) 
            else:
                return None
        else:
            #no exception occurred - obtain cursor
            return self.__dbconn
    
    def isconnected(self):
        if self.__dbconn == None:
            return False
        else:
            return True

    def disconnect(self):
        """
        Disconnect from the database
        """
        if not self.isconnected():
            return
        self.__dbconn.close()
        self.__dbconn = None

def checkConnection():
    isf_dbuser  = sys.argv[1]
    isf_dbpasswd = sys.argv[2]
    isf_dburl = sys.argv[3]

    # Connect to the database
    database = ISFDB(isf_dbuser, isf_dbpasswd, isf_dburl)
    database.connect()
    database.disconnect()
    return

if __name__ == "__main__":
    checkConnection()
    sys.exit(0)
 

 

MySQL:python test_python_MySQL.py 172.17.27.242 3306 root 111111 test

 

#!/usr/bin/python
 
# Copyright Platform Computing Inc., an IBM company, 2012 
 

import sys  
import string   
import os  
import time 
import MySQLdb as mysqldb
# -----------------------------------------
# utility functions
# -----------------------------------------
        
class ISFDB:
    """ 
    A class for handling the ISF database connection.
    """ 
    def __init__(self, host=None,port=None,user=None, passwd=None, dbname=None):
        """
        Init
        """ 
        self.dbhost = host
        self.dbport = port
        self.dbuser = user
        self.dbpasswd = passwd
        self.dbname = dbname
        self.__dbconn = None
                
        if self.dbuser:
            return
        
    def connect(self, exit=True):
        """ Connect to ISF database
        """

        try:
            self.__dbconn = mysqldb.connect(host='%s' %self.dbhost, port=string.atoi(self.dbport),user='%s' %self.dbuser,\
             passwd='%s' %self.dbpasswd, db='%s' %self.dbname)
        except Exception, e: 
            print "Failed to connect to ISF database %s" %self.dbhost
            print e
            if exit:
                sys.exit(1) 
            else:
                return None
        else:
            #no exception occurred - obtain cursor
            return self.__dbconn
    
    def isconnected(self):
        if self.__dbconn == None:
            return False
        else:
            return True

    def disconnect(self):
        """
        Disconnect from the database
        """
        if not self.isconnected():
            return
        self.__dbconn.close()
        self.__dbconn = None

def checkConnection():
    isf_dbhost = sys.argv[1]
    isf_dbport = sys.argv[2]
    isf_dbuser  = sys.argv[3]
    isf_dbpasswd = sys.argv[4]
    isf_dbname = sys.argv[5]
    # Connect to the database
    database = ISFDB(isf_dbhost, isf_dbport, isf_dbuser,isf_dbpasswd,isf_dbname)
    database.connect()
    database.disconnect()
    return

if __name__ == "__main__":
    checkConnection()
    sys.exit(0)
 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Peewee是一个简单而轻量级的Python ORM(对象关系映射)库,用于与关系型数据库进行交互。它提供了简洁易用的API,使得在Python中进行数据库操作变得更加简单和高效。 以下是Peewee的一些主要特点: 1. 支持多种数据库后端:Peewee支持多种常见的关系型数据库后端,包括SQLite、MySQL、PostgreSQL和Oracle等。 2. 简单易用的API:Peewee提供了简洁的API,使得数据库操作变得更加直观和易于理解。它使用类和方法来表示数据库表和操作,提供了丰富的查询和数据操作方法。 3. 数据模型定义:Peewee允许你使用Python类来定义数据模型,每个类对应数据库中的一个表。你可以定义字段的类型、约束和关联关系等。 4. 数据库迁移支持:Peewee提供了一个简单的迁移工具,可用于管理数据库模式的变更和迁移。 5. 查询表达式:Peewee提供了灵活而强大的查询表达式,包括过滤、排序、聚合和连接等功能。你可以轻松地构建复杂的查询,并通过链式调用方法来添加条件。 6. 事务支持:Peewee支持事务操作,你可以使用with语句块来执行原子性的数据库操作,确保数据的完整性和一致性。 7. 扩展性:Peewee提供了许多扩展和插件,可以增强其功能,如支持地理空间数据、全文搜索和异步操作等。 Peewee是一个功能强大且易于使用的Python ORM库,适用于各种规模的项目。如果你需要在Python中进行数据库操作,Peewee是一个不错的选择。你可以查阅Peewee的官方文档以获取更多详细信息和示例代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值