python项目读取oracle数据库方法(cx_Oracle库实现)

目录

创建一个python项目,并配置运行环境

查看oracle对应数据库版本(该标题下内容只是为了查看版本,不用在意)

从oracle官网下载对应版本的oracle客户端

解压下载的压缩包,并获取依赖

将依赖文件导入python项目运行环境中


创建一个python项目,并配置运行环境
  • 第一步:点击创建项目
  • 创建该项目对应的文件目录,建议直接问gpt,我在项目中是使用了非常简单的关联关系,对应每个部分的具体功能如图所示。
查看oracle对应数据库版本
  • 先在oracle数据库中查看对应的oracle数据库版本【需要根据oracle版本去下载对应的oracle依赖,否则的话会报错说版本不一致问题】。
  • 我使用的是DBeaver软件去连接Oracle数据库的,这是连接数据库的软件,不用在意。
    -- 执行语句如下
    SELECT * FROM v$version;
    
从oracle官网下载对应版本的oracle客户端
  • 浏览器直接搜索oracle.com即可,进入官网,找到对应的下载版本,我使用的是windows系统,所以从windows系统下的不同版本中选择“Oracle数据库对应的版本”
  • 选择对应的版本后,从该版本多个不同的套餐中选择自己需要的,因为我只需要连接到oracle数据库进行简单的增删查改,所以就选择第一个套餐。
解压下载的压缩包,并获取依赖
  • 解压下载到的压缩包,并从其中找到python项目所需的依赖
将依赖文件导入python项目运行环境中
  • 将前面的oracle版本依赖导入到python项目运行环境中,直接复制粘贴即可,粘贴的目录通常位于你的Python安装目录下的Lib\site-packages文件夹下面
  • 到这里就大功告成了,直接运行代码即可
  • 代码如下:
import json
import logging
from datetime import datetime

import cx_Oracle


def sql_data_process(sql, limit: str = None, pageNo: str = None):
	result = []
	try:
		connection = cx_Oracle.connect("用户名", "密码", "主机名:1521/orcl")
		cursor = connection.cursor()

		cursor.execute(sql)
		resultProxy = cursor.fetchall()

		# 获取列名
		columns = [desc[0] for desc in cursor.description]

		result = []
		for row in resultProxy:
			# 创建一个空字典来存储行数据
			row_data = {}
			for i, col in enumerate(columns):
				# 使用整数索引访问元组中的元素
				cell = row[i]
				# 检查是否为日期时间类型
				if isinstance(cell, datetime):
					# 将日期时间类型转换为字符串格式
					cell = cell.strftime('%Y-%m-%d %H:%M:%S')
				# 将列名和转换后的单元格数据存储在字典中
				row_data[col] = cell

			result.append(row_data)

		cursor.close()
		connection.close()
	except Exception as e:
		print(f"sql执行失败,失败原因:{str(e)}")
		pass

	if limit and pageNo:
		# 实现分页功能
		start_limit = (int(pageNo) - 1) * int(limit)
		end_limit = start_limit + int(limit)
		return result[start_limit:end_limit]
	return result
Python中,我们可以使用第三方cx_Oracle读取Oracle数据库。首先,需要安装cx_Oracle,并确保已经设置好了Oracle客户端。接下来,可以按照以下步骤读取Oracle数据库: 1. 首先,导入必要的: ```python import cx_Oracle ``` 2. 使用cx_Oracle.connect()函数连接到Oracle数据库,需要提供数据库的用户名、密码和连接字符串: ```python connection = cx_Oracle.connect('username', 'password', 'connection_string') ``` 请将'username'替换为您的Oracle数据库用户名,'password'替换为您的密码,'connection_string'替换为正确的连接字符串。 3. 创建一个游标对象,用于执行SQL查询: ```python cursor = connection.cursor() ``` 4. 使用cursor.execute()方法执行您的SQL查询。例如,如果您要查询名为"employees"的表中的所有记录,可以执行以下代码: ```python cursor.execute('SELECT * FROM employees') ``` 5. 使用cursor.fetchall()方法获取查询结果。例如,如果您想将查询结果存储在一个变量中: ```python results = cursor.fetchall() ``` 现在,您可以使用results变量来处理查询结果。 6. 最后,不要忘记关闭游标和数据库连接: ```python cursor.close() connection.close() ``` 这样就完成了从Oracle数据库读取数据的过程。请确保您已经按照上述步骤正确安装和配置了cx_Oracle,并提供了正确的数据库连接信息。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [PythonOracle数据库中获取数据——fetchall(),fetchone(),fetchmany()函数功能分析](https://blog.csdn.net/qq_28268527/article/details/128629153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [使用Python代码调用命令行来执行MySQL数据库备份和恢复操作](https://download.csdn.net/download/weixin_44609920/88222336)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缱绻命运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值