当前位置: 首页 > news >正文

python + jdbc 连接 达梦数据库

依赖

  • jpype1=1.5.0
  • jaydebeapi=1.2.3
  • DmJdbcDriver18.jar

启动JVM

def start_jvm():jvm_path = jpype.getDefaultJVMPath()jar_path = ":".join([".....jar",  # 需要python调用的其他jar包".../DmJdbcDriver18.jar"  # 去达梦官网下载])Djava = "-Djava.class.path=" + jar_pathif not jpype.isJVMStarted():jpype.startJVM(jvm_path, "-ea", Djava, convertStrings=True)  # 需要convertStrings,否则返回变量是java类型的,如java.lang.Integer,没法用python处理if not jpype.isThreadAttachedToJVM():jpype.attachThreadToJVM()

需要注意,在一个python主程序中,只能调用一次 startJVM

建立连接

def get_db_conn():host = password = username = port = database = jdbc_driver_path = ".../DmJdbcDriver18.jar"jdbc_class_name = "dm.jdbc.driver.DmDriver"url = f'jdbc:dm://{host}:{port}/{database}'conn = jaydebeapi.connect(jdbc_class_name, url, [username, password], jdbc_driver_path)return conn

这个连接是 DB-API 格式,遵循DB-API共同的使用形式:

cur = conn.cursor()
try:cur.execute(sql)conn.commit()
except Exception as e:conn.rollback()
finally:conn.close()

连接池

推荐: https://blog.csdn.net/weixin_37674052/article/details/131745391

相关文章:

  • 在Linux系统上实现TCP(socket)通信
  • c++20协程详解(三)
  • 19、差分矩阵
  • (Oracle)SQL优化技巧(一):分页查询
  • 计算机基础系列合集
  • 面试准备 集合 List
  • Python 新手最容易踩的坑
  • Scrapy 爬取m3u8视频
  • 基于springboot实现墙绘产品展示交易平台管理系统项目【项目源码+论文说明】
  • 基于BP神经网络的时间序列预测模型matlab代码
  • Spark-Scala语言实战(11)
  • loopvar 改动不同版本的影响-并发
  • 4.2.k8s的pod-标签管理、镜像拉取策略、容器重启策略、资源限制、优雅终止
  • Clion 输出乱码 解决方案
  • LeetCode热题100
  • Angular 4.x 动态创建组件
  • CAP 一致性协议及应用解析
  • HTML-表单
  • npx命令介绍
  • Unix命令
  • weex踩坑之旅第一弹 ~ 搭建具有入口文件的weex脚手架
  • 搭建gitbook 和 访问权限认证
  • 缓存与缓冲
  • 如何正确配置 Ubuntu 14.04 服务器?
  • 网页视频流m3u8/ts视频下载
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 一个SAP顾问在美国的这些年
  • Hibernate主键生成策略及选择
  • 第二十章:异步和文件I/O.(二十三)
  • 容器镜像
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • #100天计划# 2013年9月29日
  • (02)vite环境变量配置
  • (12)目标检测_SSD基于pytorch搭建代码
  • (Matalb回归预测)PSO-BP粒子群算法优化BP神经网络的多维回归预测
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转) RFS+AutoItLibrary测试web对话框
  • (转)JAVA中的堆栈
  • (转)ObjectiveC 深浅拷贝学习
  • ***利用Ms05002溢出找“肉鸡
  • **PHP二维数组遍历时同时赋值
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .Net FrameWork总结
  • .Net IE10 _doPostBack 未定义
  • .NET/ASP.NETMVC 大型站点架构设计—迁移Model元数据设置项(自定义元数据提供程序)...
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .vollhavhelp-V-XXXXXXXX勒索病毒的最新威胁:如何恢复您的数据?
  • /bin/rm: 参数列表过长"的解决办法
  • @media screen 针对不同移动设备
  • [ C++ ] STL---仿函数与priority_queue
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具