rust如何操作oracle

news/2025/1/31 6:39:34 标签: oracle, 数据库, rust

首先鄙视甲骨文,这么多钱的公司,不做一个rust库,还要社区帮忙。有个开源的rust库,叫oracle,但是并不是甲骨文做的。

我们来看一个从oracle数据库取所有表和视图的示例:

rust"> // 定义连接字符串
    let conn_str1 = format!("{}:{}/{}", params.host, params.port, params.database);
    let conn_str = conn_str1.as_str();
    // 建立连接
    let conn = Connection::connect(params.user, params.password, conn_str).map_err(|e| {
        //debug!("无法连接到oracle {}", e);
        ApiError::InternalError(format!("无法连接到oracle: {}", e))
    })?;

   
    let sql = "SELECT object_name AS \"table_name\", object_type AS \"table_type\"
    FROM user_objects
    WHERE object_type IN ('TABLE', 'VIEW')
    ORDER BY object_type, object_name";

    let l1 = conn.query(sqlcx, &[]).map_err(|e| {
        //debug!("数据查询失败 {}  sql:{}", e, sql);
        ApiError::InternalError(format!("数据查询失败: {} sql:{}", e, sql))
    })?;

    //debug!("get_data_sql语句:{}", sql);

    let json_results = rows_to_json_oracle(l1)
        .map_err(|e| ApiError::InternalError(format!("JSON转换失败: {}", e)))?;

    let json_data = json!({
        "data": json_results
    });

经过测试oracle这个rust库,也没有问题,可以放心使用。同样的问题,批量插入做得不好。

代码取自hpctb


http://www.niftyadmin.cn/n/5838414.html

相关文章

论文阅读(八):结构方程模型用于研究数量遗传学中的因果表型网络

1.论文链接:Structural Equation Models for Studying Causal Phenotype Networks in Quantitative Genetics 摘要: 表型性状可能在它们之间发挥因果作用。例如,农业物种的高产可能会增加某些疾病的易感性,相反,疾病的…

130周四复盘(162)研究神作

1.设计相关 今天没有进行大思想的学习, 而思考的比较细节, 分析了某神作的核心机制的内外逻辑,总结优点,以及一些过时的缺点, b4这款神作就像一座高峰,难以企及,但魂牵梦萦。如果未来有朝一…

从0到1:C++ 开启游戏开发奇幻之旅(二)

目录 游戏开发核心组件设计 游戏循环 游戏对象管理 碰撞检测 人工智能(AI) 与物理引擎 人工智能 物理引擎 性能优化技巧 内存管理优化 多线程处理 实战案例:开发一个简单的 2D 射击游戏 项目结构设计 代码实现 总结与展望 游戏…

Elasticsearch:如何搜索含有复合词的语言

作者:来自 Elastic Peter Straer 复合词在文本分析和标记过程中给搜索引擎带来挑战,因为它们会掩盖词语成分之间的有意义的联系。连字分解器标记过滤器等工具可以通过解构复合词来帮助解决这些问题。 德语以其长复合词而闻名:Rindfleischetik…

拦截器快速入门及详解

拦截器Interceptor 快速入门 什么是拦截器? 是一种动态拦截方法调用的机制,类似于过滤器。 拦截器是Spring框架中提供的,用来动态拦截控制器方法的执行。 拦截器的作用:拦截请求,在指定方法调用前后,根…

EtherCAT主站IGH-- 23 -- IGH之fsm_slave.h/c文件解析

EtherCAT主站IGH-- 23 -- IGH之fsm_slave.h/c文件解析 0 预览一 该文件功能`fsm_slave.c` 文件功能函数预览二 函数功能介绍`fsm_slave.c` 中主要函数的作用1. `ec_fsm_slave_init`2. `ec_fsm_slave_clear`3. `ec_fsm_slave_exec`4. `ec_fsm_slave_set_ready`5. `ec_fsm_slave_…

opencv裁剪视频区域

import cv2 # 打开视频文件 video_path input.mp4 cap cv2.VideoCapture(video_path) # 获取视频的帧率、宽度和高度 fps int(cap.get(cv2.CAP_PROP_FPS)) width int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)) height int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)) # 定义裁剪区…

11 Spark面试真题

11 Spark大厂面试真题 1. 通常来说,Spark与MapReduce相比,Spark运行效率更高。请说明效率更高来源于Spark内置的哪些机制?2. hadoop和spark使用场景?3. spark如何保证宕机迅速恢复?4. hadoop和spark的相同点和不同点?…