• 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()
    
    • 结果

  • 相关阅读:
    VLC通过RTSP地址向IPC取流播放不了问题排查
    linux opt分区扩容操作案例
    win10远程桌面报错"出现身份验证错误"
    linux通过expect实现脚本自动交互
    oracle通过触发器记录登陆主机ip
    linux root密码忘记重置
    linux双网卡配置
    Tomcat报错合集
    UFT(QTP)中的Object Repository
    利用JAVA反射机制设计通用的DAO
  • 原文地址:https://www.cnblogs.com/peterlddlym/p/14724112.html
Copyright © 2020-2023  润新知