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-JDBC\postgresql.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-JDBC\postgresql.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()
  • 結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM