rust如何操作oracle

首先鄙视甲骨文,这么多钱的公司,不做一个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

相关推荐
Decay__3 小时前
VMware 安装 SQL Server 双节点 AlwaysOn 可用性组教程 —— WSFC、AG 与侦听器完整部署(系列核心篇)
运维·数据库·sql·mysql·架构
wflynn4 小时前
GitHub 今日推荐|Stela:在 PC 上直接启动 macOS 的翻译层
rust·开源·github
茶栀(*´I`*)4 小时前
SQL 性能分析:从慢查询日志到执行计划的完整定位方法
数据库·sql
艺杯羹4 小时前
1Panel 装好后 ufw 仍是 inactive:一次服务器安全盲区复盘
服务器·数据库·安全·网络安全·系统架构·实战·1panel
aifannihao5 小时前
Rust 1.100 的 DropGuard:用 Python 实测失败回滚与吞异常
python·rust·异常处理·标准库·contextlib
code2cat5 小时前
【随笔】MCP工具重试:任务已经创建,响应丢了怎么办
数据库·mcp
wuyk5557 小时前
Spider-第10讲-SQLite持久化与去重
数据库·爬虫·sqlite
乌暮9 小时前
Spring AOP 与 Spring 事务:用大白话彻底理解原理与实践
java·数据库·spring boot·后端·sql·学习·spring
小此方9 小时前
Re:Mysql数据库基础篇(十二):什么是事务、事务解决了什么问题、事务的四大属性、事务的操作方式
数据库·mysql
flash俊杰11 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构