背景
1、自动化测试过程中需要用python连接数据库对界面上计算出来的数据进行校验
2、平时查询数据库用的PLSQL,公司用的orcal数据库
3、cmd打开命令提示符,输入python,提示版本位3.9,64位,plsql新建sql window查询,输入select * from v$version,看到plsql是64位的
在这里插入图片描述

4、写在前面:安装的python、instantclient位数需要一致
5、python连接orcal数据库需要用到cx_Oracle这个库,python3以上版本在终端用命令pip3 install cx_Oracle安装,如果安装不成功可以看我上一篇文章怎么解决的
6、看到下图说明安装成功了在这里插入图片描述
7、显示安装成功,但是在写代码的时候导入一直报错怎么回事?
解决办法:先看左侧下有没有,没有的话重启pycharm看看,还没有的话,双击shift键,打开,手动搜一下再添加(我就是这么解决的)在这里插入图片描述
在这里插入图片描述
8、接下来我们开始写代码了,连接代码如下:

import cx_Oracle

 # 连接数据库,有好几种写法,后续补充
conn = cx_Oracle.connect('用户名', '密码', '地址:端口/服务')  # 这里替换成对应的值就可以了
# 使用cursor()方法获取操作游标
cursor = conn.cursor()
# 使用execute方法执行SQL语句
result = cursor.execute("sql语句 ")
# 多行sql的时候用三引号可以进行换行,看起来比较美观
# 使用fetchone()方法获取一条数据
data = result.fetchone()
# 获取所有数据
all_data = result.fetchall()
# 获取部分数据,8条
many_data = result.fetchmany(8)
print(data)
cursor.close()
conn.close()

查询的记过中包含中文出现乱码时,写入

import os
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.ZHS16GBK'

9、写完可以运行程序了,出现以下报错(网上解决方法很多,大家真的要判断自己的情况后再改动)
在这里插入图片描述
可能原因有:

  • python、instant client位数不匹配,我就是这个原因,下载64位的instant client,我在这里下载的:http://www.itmop.com/?down(看起来有点不正经,但是注册orcal账号好麻烦)

10.1 先改环境变量,一共有三个地方需要改**(这一步很重要,不能改错)**:
系统变量中新建下图,写入instantclient 存放路径,地址要复制全,到最里面的数字结尾的文件夹地址
在这里插入图片描述Path路径中,加上上述路径在这里插入图片描述
新建系统变量,填入下图值
在这里插入图片描述
10.2 把instant client 文件夹下的以下4个文件复制粘贴到python安装目录下-Lib -site-packages文件夹下,应该是选其中三个,我尝试了以后也分不清放了那个才成功的,就一起复制过去了
在这里插入图片描述
在这里插入图片描述
10.3 重新启动pycharm,运行代码就可以了

Logo

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。

更多推荐