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

相关推荐
betazhou24 分钟前
基于Linux环境实现Oracle goldengate远程抽取MySQL同步数据到MySQL
linux·数据库·mysql·oracle·ogg
lyrhhhhhhhh1 小时前
Spring 框架 JDBC 模板技术详解
java·数据库·spring
喝醉的小喵2 小时前
【mysql】并发 Insert 的死锁问题 第二弹
数据库·后端·mysql·死锁
付出不多3 小时前
Linux——mysql主从复制与读写分离
数据库·mysql
初次见面我叫泰隆3 小时前
MySQL——1、数据库基础
数据库·adb
Chasing__Dreams3 小时前
Redis--基础知识点--26--过期删除策略 与 淘汰策略
数据库·redis·缓存
源码云商3 小时前
【带文档】网上点餐系统 springboot + vue 全栈项目实战(源码+数据库+万字说明文档)
数据库·vue.js·spring boot
源远流长jerry3 小时前
MySQL的缓存策略
数据库·mysql·缓存
纯纯沙口3 小时前
Qt—用SQLite实现简单的注册登录界面
数据库·sqlite
初次见面我叫泰隆4 小时前
MySQL——3、数据类型
数据库·mysql