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

相关推荐
techdashen39 分钟前
Cloudflare 为何抛弃 NGINX,用 Rust 自研了一个代理
运维·nginx·rust
逻辑驱动的ken1 小时前
Java高频面试考点18
java·开发语言·数据库·算法·面试·职场和发展·哈希算法
qq_392690661 小时前
Redis怎样应对Redis集群整体宕机带来的雪崩
jvm·数据库·python
快乐非自愿2 小时前
Redis--SDS字符串与集合的底层实现原理
数据库·redis·缓存
这儿有一堆花2 小时前
住宅代理(Residential Proxy)技术指南
开发语言·数据库·php
茉莉玫瑰花茶3 小时前
LangChain 核心组件 [ 2 ]
java·数据库·langchain
存在的五月雨3 小时前
Mysql 索引的一些
数据库·mysql
Mr.Rice.Fool3 小时前
rust面试经验1
后端·面试·职场和发展·rust
黄俊懿4 小时前
MySQL主从复制:从“异步“到“GTID“,数据同步的进化之路
数据库·sql·mysql·oracle·架构·dba·db