python3 OceanBase 数据库连接

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author: 风过无言花易落
# @Date  : 2022/08/01 17:00
# @Desc  : OceanBase 数据库连接(商业版本,驱动需要有企业合作下载)

import jaydebeapi
class OceanBase(object):
    def __init__(self, url, user, password):
        driver = 'com.alipay.oceanbase.jdbc.Driver'
        jarFile = 'I:\Account\\tydic_vop_scripts\\resource_num_iccid_imsi/oceanbase-client-2.2.7.3.jar' # 驱动jar包 官网可以下载
        self.connection = jaydebeapi.connect(driver, url, [user, password], jarFile)

    def fetch_one(self, sql):
        """
        查询单条
        :param sql:
        :return:
        """
        try:
            conn = self.connection
            cursor = conn.cursor()
            cursor.execute(sql)
            result = cursor.fetchone()

        except Exception as e:

            cursor.close()
            conn.close()
            print('execute sql {0} is error:{1}'.format(sql, e))
        return result

    def fetch_all(self, sql):
        """
        查询全部
        :param sql:
        :return:
        """
        try:
            conn = self.connection
            cursor = conn.cursor()
            cursor.execute(sql)
            result = cursor.fetchall()
        except Exception as e:

            cursor.close()
            conn.close()
            print('execute sql {0} is error:{1}'.format(sql, e))

        return result

    def InsertSql(self, sql):
        """
        插入+更新+删除
        :param sql:
        :return:
        """
        try:
            conn = self.connection
            cursor = conn.cursor()
            cursor.execute(sql)
            conn.commit()
        except Exception as e:
            cursor.close()
            conn.close()
            print('execute sql {0} is error:{1}'.format(sql, e))
        return True

    def __del__(self):
        print('关闭数据库连接')
        self.connection.close()

if __name__ == "__main__":
    url = 'jdbc:oceanbase://10.10.10.255:12345/database'
    user = '租户里的用户名@租户名#集群名'
    password = '111111111111'
    sql = 'select 1 from dual'
    ob = OceanBase(url,user,password)
    print(ob.fetch_one(sql))
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值