python读取Oracle库并生成API返回Json格式

一、安装必要的库

首先,确保已经安装了以下库:

  • 有网模式
pip install flask
pip install gevent
pi install cx_Oracle
  • 离线模式:
    下载地址:https://pypi.org/simple/flask/
# a. Flask
Werkzeug-1.0.1-py2.py3-none-any.whl
Jinja2-2.11.3-py2.py3-none-any.whl
--|MarkupSafe-1.1.1-cp38-cp38-win_amd64.whl
itsdangerous-1.1.0-py2.py3-none-any.whl
click-7.1.2-py2.py3-none-any.whl
Flask-1.1.4-py2.py3-none-any.whl# b. gevent
# 注意安装最新版本,否则会出现问题
zope.event-4.6-py2.py3-none-any.whl
zope.interface-7.1.1-cp38-cp38-win_amd64.whl
greenlet-3.1.1-cp38-cp38-win_amd64.whl
cffi-1.16.0-cp38-cp38-win_amd64.whl
-|pycparser-2.20-py2.py3-none-any.whl
gevent-24.2.1-cp38-cp38-win_amd64.whl

二、代码实现

  1. reply_oracle.py(主应用文件)
from flask import Flask
from datetime import datetime
from gevent import pywsgi
import cx_Oracle
import jsonapp = Flask(__name__)# ip:1521/etltdbdb_host = "ip"
db_port = "1521"
db_instant = "etltdb"
user = "dc_ctl"
password = "******"sql = """ select t.db_name,t.db_type,t.db_user,t.db_passwd,t.db_host,t.db_port,t.db_instantfrom dc_ctl.ctl_db_info t
"""@app.route('/oracle')
def get_current_time():# 创建数据库连接dsn = cx_Oracle.makedsn(db_host, db_port, db_instant)con = cx_Oracle.connect(user, password, dsn)# 创建游标cursor = con.cursor()# 执行查询SQLcursor.execute(sql)# 获取结果集rows = cursor.fetchall()# 将结果集转换成JSON格式result = []for row in rows:result.append({'db_name': row[0],'db_type': row[1],'db_passwd': row[2],'db_host': row[3],'db_port': row[4],'db_instant': row[5]})json_result = json.dumps(result)return json_resultif __name__ == '__main__':print(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))server = pywsgi.WSGIServer(('0.0.0.0', 5001), app)server.serve_forever()

三、测试

  • 测试方式1-代码
import requestsdef app():response = requests.get("http://ip:5001/oracle")print(response.json())if __name__ == '__main__':app()

在这里插入图片描述

  • 测试方式2-界面
http://ip:5001/oracle

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/61180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

开发 + 安全:网络安全的协作方法

开发团队和安全团队之间由来已久的紧张关系一直是组织内部摩擦的根源。开发人员优先考虑速度和效率,旨在通过快节奏、迭代的开发周期快速交付功能和产品并高效前进。另一方面,安全团队努力平衡风险和创新,但必须专注于使用护栏保护敏感数据和…

计算机视觉(CV):让机器看懂世界

引言 计算机视觉(Computer Vision, CV)是人工智能的重要领域,致力于让机器能够“看懂”世界。CV技术广泛应用于自动驾驶、医疗影像、安防监控和娱乐领域,正在改变我们的生活方式。 本文将从基本概念、技术方法、应用场景和发展方向…

SpringAOP模拟实现

文章目录 1_底层切点、通知、切面2_切点匹配3_从 Aspect 到 Advisor1_代理创建器2_代理创建时机3_Before 对应的低级通知 4_静态通知调用1_通知调用过程2_模拟 MethodInvocation 5_动态通知调用 1_底层切点、通知、切面 注意点: 底层的切点实现底层的通知实现底层的…

R语言基础入门详解

文章目录 R语言基础入门详解一、引言二、R语言环境搭建1、安装R和RStudio1.1、步骤1.2、获取工作目录 三、R语言基础2、语法基础2.1、赋值操作2.2、注释 3、数据类型与结构3.1、向量3.2、矩阵 4、基本操作4.1、数据读取4.2、数据可视化 四、R语言使用示例4.1、统计分析示例4.2、…

Three.js PBR材质

本文将详细介绍Three.js中的PBR(Physically Based Rendering)材质,包括PBR的基本概念、适用场景、PBR材质的构建以及一些高级应用技巧。 1. PBR(Physically Based Rendering)基本概念 PBR,即Physically B…

头歌——VLAN基本配置第一关

任务描述 本关任务:实现跨交换机的VLAN。 相关知识 为了完成本关任务,你需要掌握:1.VLAN的定义,2.VLAN的类型。 实验步骤 (1)新建Packet Tracer拓扑图; (2)划分VLAN&…

CentOS使用中遇到的问题及解决方法

一、CentOS 7网络配置(安装后无法联网问题) 现象说明 在安装CentOS系统后,有可能出现无法联网的问题,虚拟机中的网络配置并没有问题,而系统却无法联网,也ping不通。 原因描述 CentOS默认开机不启动网络,因…

【AI+教育】一些记录@2024.11.16

《万字长文,探讨关于ChatGPT的五个最核心问题》 万字长文,探讨关于ChatGPT的五个最核心问题关于 ChatGPT 铺天盖地的信息让人无所适从。本文则试图提炼出五个关键问题:如何理解这次范式突破,未来能达到的技术天花板,行…

docker minio修改时区问题记录

记录如下 [rootiv-ydi8je5nggxjd1u4r4h6 ~]# docker run -d --restart always -p 9011:9000 -p 9012:9001 --name minio1 -v /opt/gisminio/data:/data -e "MINIO_ROOT_USERadmin" -e "MINIO_ROOT_PASSWORDcxxx" -e "TZAsia/Shanghai&qu…

CEF编译指南2024 Windows篇-CEF简介(一)

1. 引言 在现代桌面应用程序开发中,Web技术的应用越来越广泛。许多开发者希望能够在传统桌面应用中嵌入Web内容,既保留了原生应用的性能优势,又能享受Web开发的便利性。CEF(Chromium Embedded Framework)作为一个基于…

机器翻译-基础与模型

一、机器翻译发展历程 基于规则的-->基于实例的-->基于统计方法的-->基于神经网络的 传统统计机器翻译把词序列看作离散空间里的由多个特征函数描述的点,类似 于 n-gram 语言模型,这类模型对数据稀疏问题非常敏感。神经机器翻译把文字序列表示…

计算机网络——路由选择算法

路由算法 路由的计算都是以子网为单位计算的——找到从原子网到目标子网的路径 链路状态算法 序号——(源路由器,序号)——如果发现这个序号重复或者老了——就不扩散 先测量——再泛洪获得路由 路由转发情况 若S——>W是21则不更改——…

Web开发:ORM框架之使用Freesql的DbFrist封装常见功能

一、调用 public class Program {static string connectionstring "连接字符串(数据库名)";static void Main(string[] args){//1.连接数据库var freesql new FreeSqlBuilder().UseConnectionString(DataType.SqlServer, connectionstring…

【金融风控项目-07】:业务规则挖掘案例

文章目录 1.规则挖掘简介2 规则挖掘案例2.1 案例背景2.2 规则挖掘流程2.3 特征衍生2.4 训练决策树模型2.5 利用结果划分分组 1.规则挖掘简介 两种常见的风险规避手段: AI模型规则 如何使用规则进行风控 **使用一系列逻辑判断(以往从职人员的经验)**对客户群体进行区…

实时监控,智能分析:输电线路多目视频监控装置提升运维效率

在快速变迁的现代社会中,安全监控技术已成为各行各业安全管理体系的核心组成部分。无论是工厂生产线的安全保障,城市治安的维护,还是偏远区域电力巡检的顺利进行,都离不开高效且智能的监控解决方案。 在高压输电线路的监测领域&am…

【MCU】GD32H7定时器使用外部时钟源

1、定时器可以使用系统内部的mcuclk,也可以通过管脚使用外部输入的时钟源 2、GD32H7怎么使用外部的源来驱动定时器呢 3、GD32H7通用定时器的框图如下: 这是官方手册上的图,不得不说,画的不够详细,只是一个大概的框图…

vue下载后端提供的文件/播放音频文件

下载文件 doc 接口js文件里加一行这个responseType: ‘arraybuffer’, js文件 export function (data) {return request({url: "XXX",method: "post",data: data,baseURL: " ",responseType: arraybuffer,}); }vue文件 const time{"date…

IDEA2023 SpringBoot整合Web开发(二)

一、SpringBoot介绍 由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。SpringBoot提供了一种新的编程范式,可以更加快速便捷…

英伟达AI超大规模组网平台方案

英伟达GPU:AI超大规模组网 "英伟达,引领GPU技术革新,持续加速AI超大规模组网进程。自2024年起,英伟达每2年将推出一代新型GPU架构,如今的Blackwell芯片已投入生产。展望未来,2025年,我们将…

计算机网络:概述知识点及习题练习

网课资源: 湖科大教书匠 1、因特网 网络之间需要路由器进行互联,互联网是网络的网络,因特网是最大的互联网,连接到网络的设备称为主机,一般不叫路由器为主机。 因特网发展:ARPNET->三级结构因特网&am…