zoukankan      html  css  js  c++  java
  • Python使用jdbc对openGauss数据库进行操作(一)

    Python使用jdbc对openGauss数据库进行操作(一)

    说在前面

    研究了一上午写了这么一个基础的操作帮助文档,之所以用python仅仅是因为喜欢用,才发现openGauss还没提供python直接使用的驱动,使用psycopg2就会出现加密认证错误的问题,修改起来极为麻烦果断放弃,网上又恰好没有可以直接照抄的文档,于是研究了半天总算搞出了眉目。基本思想就是在python里使用jar包,目前openGuass发布了基于jdbcopenGauss Connectors,刚好可以拿来用,再结合java帮助文档就能实现python连接使用openguas了。

    基本配置

    • openGauss:1.1.0
    • Python:3.8
    • JDK:1.8

    事前准备

    openGauss Connectors下载

    安装python库

    • 先安装jpype1
    • 再安装jaydebeapi
    pip install jpype1
    pip install jaydebeapi
    
    • 这样就准备完了,java安装就默认都有了

    具体步骤

    1.配置参数

    • driver:Driver.class所在位置(org.postgresql.Driver)

    • jarFile:jar包所在位置(D:openGauss-1.1.0-JDBCpostgresql.jar)

    • url:jdbc:<数据库类型[postgresql]>://:/<数据库名>

    • user:数据库用户名

    • password:密码

    2.导入第三方库jaydebeapi

    import jaydebeapi
    

    3.创建连接

    conn = jaydebeapi.connect(driver,url,[user,password],jarFile)
    

    4.对数据库进行操作

    1. 获取游标:curs = conn.cursor()
    2. 拼接SQL语句:sqlStr = 'select {} from {} where {}'.format(value, tableName, condition)
    3. 执行SQL语句:curs.execute(sqlStr)
    4. 获取查询返回结果:result = curs.fetchall()/result = curs.fetchone()
    5. 释放游标:curs.close()
    6. 如果不打算继续操作数据库后记得关闭连接:conn.close()

    使用示例

    import jaydebeapi
    url = 'jdbc:postgresql://122.9.1.237:26000/dm'
    user = 'liming'
    password = 'Peter991213'
    driver = 'org.postgresql.Driver'
    jarFile = 'D:openGauss-1.1.0-JDBCpostgresql.jar'
    conn = jaydebeapi.connect(driver,url,[user,password],jarFile)
    curs=conn.cursor()
    sqlStr = 'select * from usr'
    curs.execute(sqlStr)
    result=curs.fetchall()
    print(result)
    curs.close()
    conn.close()
    
    • 结果

  • 相关阅读:
    常见的网络结构
    解决Oracle EM 乱码问题
    Oracle基础
    Unity3D游戏开发初探—2.初步了解3D模型基础
    Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生
    Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门
    Linux下的.NET之旅:第一站,CentOS+Mono+Xsp构建最简单的ASP.NET服务器
    Hadoop学习笔记—1.基本介绍与环境配置
    f(n-1) + f(n-2)的编译器处理
    C++ 在线编译器(支持 C++11)
  • 原文地址:https://www.cnblogs.com/peterlddlym/p/14724112.html
Copyright © 2011-2022 走看看