DBeaver连接国产数据库OceanBase,以及Python连接,解决ModuleNotFoundError: No module named '_jpype'
DBeaver连接OceanBase
参考:https://www.modb.pro/db/365929
用户名的格式为: 数据库用户名@租户名#集群名
Python连接OceanBase
参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033288
pip3 install JayDeBeApi
会自动下载JayDeBeApi和JPype1两个包,其中JPype1是根据当前环境的Python版本自动匹配的,如下图下载的JPype1-1.4.1-cp311-cp311-win_amd64.whl,是Python3.11版本的


Python版本和JPype1包的版本必须对应起来,不能通过pip安装不同版本的JPype1包,比如下面:
卸载了JPype1,Python3.11.5安装3.9的包失败

如果用拷贝的方法,把3.11的JPype1拷贝到3.9的site-packages目录下,会导致Python3.9 import _jpype模块找不到,如图:
ModuleNotFoundError: No module named '_jpype'

离线安装方法:
在官网下载对应版本包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype
比如本机的Python版本是3.9,就下载如下的cp39版本

复制安装包到:Python安装目录\Lib\site-packages目录下
在Windows命令行模式下在线安装wheel,即 pip install wheel
安装完wheel后,再安装JPype1-0.6.3-cp37-cp37m-win_amd64.whl 安装包(注意要加上路径)

Python连接代码
参考:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000033288
import jaydebeapi
def ob_test():
url = 'jdbc:oceanbase://**.*.**.**:****/***'
user = '**@**#**' # 用户@租户#集群名称
password = '******'
driver = 'com.alipay.oceanbase.jdbc.Driver' # 类路径,无需更改
jarFile = 'oceanbase-client-1.1.7.jar' # jar文件和py文件在同一个文件夹下,这里需要用相对路径,绝对路径找不到
conn = jaydebeapi.connect(driver, url, [user, password], jarFile)
cur = conn.cursor()
# 查询 cities 表中的所有数据
sql = "select * from table"
cur.execute(sql)
ans = cur.fetchall()
print(ans)
cur.close()
conn.close()
DBeaver连接国产数据库OceanBase,以及Python连接,解决ModuleNotFoundError: No module named '_jpype'的更多相关文章
- Python报错ModuleNotFoundError: No module named 'numpy'
转载:https://blog.csdn.net/qq_39779233/article/details/103224712 Python报错ModuleNotFoundError: No modul ...
- linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'
在linux或者直接在cmd中运行python文件时 会遇到导包错误的情况ModuleNotFoundError: No module named 'xxx’由于不在pycharm中 所以这里不能将上 ...
- Python学习:ModuleNotFoundError: No module named 'pygal.i18n' 的解决方法
最近在学<Python编程:从入门到实践>,16.2小结中 from pygal.i18n import COUNTRIES 获取两个字母的国别码,我用的pygal的版本是2.4.0(终端 ...
- python - 解决 ModuleNotFoundError: No module named 'pip'
1.pip的版本为 9.0.3 想用 pip install -U pip 更新下包,但是在更新过程中出现了报错,如下所示: 2.然后尝试用pip install pandas包,提示 Module ...
- Python 错误:ModuleNotFoundError: No module named 'conf'
问题描述: 编译器无法使用cmd命令来执行py文件,结果可能报ModuleNotFoundError的错误. 比如在cmd任务栏执行:python E:\myProgram\Python\spider ...
- python异常之ModuleNotFoundError: No module named 'test01inner02'
当我们使用sys.path.append(args) 指令向程序中导入模块时其实本次append操作只是在内存中完成的,如果要永久性的添加需要修改环境变量. 我们发现当我们使用print(sys.pa ...
- Python解决ModuleNotFoundError: No module named 'Queue'的问题
我们知道Python2和Python3两个版本之间,有些不兼容的地方,Python3中引入Queue会报出这个问题. Python3中要这样引入: import queue Python2中要这样引入 ...
- PYTHON 解决ModuleNotFoundError: No module named 'win32com'
d:\python37\scripts\>pip install pypiwin32
- Django 连接 MySQL 数据库及常见报错解决
目录 Django 连接 MySQL数据库及常见报错解决 终端或者数据库管理工具连接 MySQL ,并新建项目所需数据库 安装访问 MySQL 的 Python 模块 Django 相关配置 可能会遇 ...
- Java连接Oracle数据库的三种连接方式
背景: 这两天在学习Oracle数据库,这里就总结下自己上课所学的知识,同时记录下来,方便整理当天所学下的知识,也同时方便日后自己查询. SQL语句的话,这里我就不多讲了,感觉和其他的数据库(MySQ ...
随机推荐
- JNI动态注册以及JNI签名
一.动态注册和静态注册 注册native方法有两种方式,动态注册和静态注册.静态注册是在编译时进行注册,而且在java中声明的native方法和c/c++中的本地方法的对应关系是恒定的:比如说在com ...
- SpringBoot打成jar运行后无法读取resources里的文件
开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下 在开发环境中通过下面方法能读取word_r ...
- Python 实现Word转PDF
通过将 Word 文档转换为 PDF,您可以确保文档在不同设备上呈现一致,并防止其他人对文档内容进行非授权修改.此外,在你需要打印文档时,转换为PDF还能确保打印输出的准确性.本文将介绍如何使用Pyt ...
- 浅谈TCP协议的发生过程
1. TCP协议 1.1 TCP协议的性质 面向连接的.可靠的.基于字节流 至于为什么面向连接,又为什么可靠,基于字节流的,等后面便可知道. 1.2 TCP协议栈收发数据的四个阶段 创建套接字 连接服 ...
- 在线问诊 Python、FastAPI、Neo4j — 生成 Cypher 语句
目录 构建节点字典 构建Cypher CQL语句 Test 这边只是为了测试,演示效果和思路,实际应用中,可以通过NLP构建CQL 接上一篇的问题分类 question = "请问最近看东西 ...
- 【ASP.NET Core】在 Mini-API 中注入服务
经过版本更新,Mini API 的功能逐步完善,早期支持得不太好的 mini API 现在许多特性都可以用了,比如灰常重要的依赖注入. 咱们先来个相当简单的注入测试.来,定义一个服务类,为了偷懒,老周 ...
- Go语言常用标准库——json、文件操作、template、依赖管理及Go_module使用
文章目录 Go语言之json Marshal函数 Unmarshal函数 Go语言之文件操作 打开和关闭文件 读取文件 file.Read() 基本使用 循环读取 bufio读取文件 ioutil读取 ...
- openssl加解密实战
一.概念 1.加密有两种类型 密钥加密(secret-key encryption)使用相同的密钥进行加密和解密,也叫对称加密 公钥加密(public-key encryption)使用不同的密钥进行 ...
- ciscn_2019_c_1 题解
main函数如下: int __cdecl main(int argc, const char **argv, const char **envp) { int v4; // [rsp+Ch] [rb ...
- vue中数字和字符串的转换问题(v-bind和v-model的使用)
可以看到上面自增加时,成了拼接字符串的效果. 打开vue工具查看: 此时n和sum都是数字,可以正常自增加,但是操作了section之后,n就变成了字符串: 此时再执行自增加,sum也会变成字符串形式 ...