问题标签 [rust-sqlx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
303 浏览

sql - Rust:使用结构向量的极坐标数据帧

问题

polars我想从mysql数据库中将数据读入数据框中。我正在使用sqlx.

sqlx生成一个结构体向量,例如:Vec<Country>下面:

sqlx 文档

我如何使用它Vec<Country>来生成极坐标数据框

polars 文档

可能的解决方案

我能想到的唯一解决方案是,如果我可以为Country结构内的每一列/数据创建一个系列,并使用这些单独的系列来创建一个数据框。

我不知道如何分解Vec<Country>Vec<country>Vec<count>

0 投票
2 回答
268 浏览

mysql - Rust:从 mysql 读取 Polars 中的数据框

问题

如何从 mysql 读取 Polars 中的数据框。 文档对这个问题保持沉默。目前可能只支持 parquet、json、ipc 等,没有直接支持这里sql提到的。

无论使用以下库读取数据的合适方法是什么:sqlxmysql

当前方法

目前,我正在遵循此答案中提供的这种方法:

  1. 读入Vec<Struct>使用sqlx
  2. (Vec<T>, Vec<T>)使用下面的代码将其转换为 vecs 元组
  3. 转换(Vec<T>, Vec<T>)(Series, Series)
  4. 使用创建数据框DataFrame::new(vec![s0, s1]):在哪里s0s1在哪里Series
0 投票
1 回答
349 浏览

rust - actix-session、sqlx、async-graphql 的错误问题

我正在尝试在 actix Web 应用程序中创建一个 graphql 解析器(使用 async-graphql)。我正在做一个 me 查询,我从会话中获取用户 ID,并从数据库中获取用户。这是代码中最相关的部分

但我得到了错误

我应该怎么办?无论如何,我也尝试过错误,但没有运气。我认为错误与 sqlx 的东西有关,因为当我删除该query_as部分时,错误就消失了。

相关的依赖是

如果有任何帮助,可以在这里找到整个仓库https://github.com/SorenHolstHansen/full-stack-starter

0 投票
0 回答
117 浏览

rust - cargo sqlx prepare 生成存根文件——即使启用了“离线”功能

我正在使用一些 sqlx::query!和 sqlx::query_as!我的项目编译得很好。但是当我运行 cargo sqlx prepare 时,我首先得到错误:

然后当我用“---lib”运行它时,我得到:

我用--bin 得到了类似的输出。

我在这里做错了什么?

0 投票
0 回答
448 浏览

rust - 如何使用 Rocket 在 FromRequest 实现中获取状态?

我初始化了一个 Mutex< Pool<Postgres>>实例并将其传递给实例上的管理方法Rocket,以便访问我的控制器上的数据库。我通常做的是:

这很酷,但这是我的问题:我写了一个结构如下......

...而且我实际上想将它用作请求保护,以便客户端在没有提供正确凭据的情况下无法访问控制器。

Rocket 的官方指南告诉实现FromRequest特征,以便可以将其解析为警卫。

但是,为了初始化一个User实例,我需要在这个FromRequest特征中获取一个PoolConnection。我已经深入研究了 Rocket 的 API 文档,似乎FromRequest 上的请求参数有一个名为 Rocket 的方法它返回一个实例,并且通过它,我可以访问 stateRocket<Orbit>

但是,问题是state方法返回&Mutex<Pool<Postgres>>,这是一个不可变的引用,所以我不能用它对数据库做任何操作。

我已经走了这么远,想问是否有人知道Mutex<Pool<Postgres>>无需参考即可访问的方法。

提前致谢。

我走了多远

下面是我如何实现FromRequest


环境

  • 锈病 1.55.0
  • 火箭 0.5.0-rc.1 具有功能defaultjson
  • sqlx 0.5.7 的特性runtime-tokio-native-tls,all-typespostgresmigrate
0 投票
0 回答
53 浏览

rust - 当函数输出被宏修复时传播不同的错误

我是 rust 新手,在传播不同的错误类型(在本例中来自 actix 和 sqlx)时遇到错误。

我看到类似的问题可以通过将函数的返回更改为适当的类型来解决,或者更改为这些问题中不同可能错误的枚举:

但在这种情况下,我似乎因为宏而不得不保持相同的结果#[actix_web::main],所以这似乎不是一个选择。

在这种情况下,解决办法是什么?我尝试替换-> std::io::Result<()>-> anyhow::Result<()>,但出现类型不匹配的错误。我也用 实现了我自己的枚举thiserror,但发生了同样的错误。

我的代码是下一个:

这是我得到的错误:

如果它有用,这是我的Cargo.toml

0 投票
1 回答
95 浏览

rust - rust sqlx-cli:如何为测试中的查询准备离线模式

我在测试中使用了一些https://github.com/launchbadge/sqlx query!宏,我需要能够cargo sqlx prepare为它们运行,以便我的 IDE 可以扩展宏并提供类型信息(自动完成等)。

但是如果我只是运行cargo sqlx prepare,后面的所有代码#[cfg(test)]都会被忽略。

我怎样才能告诉 cargo/sqlx 也分析我的测试?

0 投票
1 回答
229 浏览

sql-server - SQLx 到 Mssql 连接字符串

我正在学习 rust,并且我已经使用 Rocket 编写了我的第一个非常简单的 API。现在我想将我的服务器连接到我在 MSFT Azure 上的现有数据库。我很难找到有关 Mssql 如何工作的示例,SQLx 存储库仅包含 Postgres 和 MySQL 的示例。

Azure 门户上没有可用于 rust 的连接字符串,因此我尝试了 Go 和 ODBC 的不同版本:

这给出了一个Error: Configuration(RelativeUrlWithoutBase),所以我认为 SQLx 需要一个类似的连接字符串"postgres://...",但我无法为 mssql 找到这个字符串。

0 投票
2 回答
256 浏览

mysql - 如何在 Rust sqlx for MySQL 中使用 IN 子句和“Vec”作为参数进行查询?

注意:这是一个类似但不重复的问题,如何使用 sqlx 在切片中查询 mysql?. 我要的是 Rust 的

这是我尝试做的。

然后我收到以下错误

0 投票
1 回答
239 浏览

rust - 使用 SQLx 连接到 SQL Server

我无法通过 SQLx 库访问托管在 Azure 上的 SQL Server 数据库。

我可以使用 pymssql 连接到我的数据库:

因此,我假设我在 Azure 门户中的设置都是正确的,问题确实出在我的 SQLx 代码上。

使用相同的凭据,我尝试连接到数据库:

然而这导致

错误:Io(种类(ConnectionAborted))

并且根据rust std::io 错误文档,这个错误意味着:

连接被远程服务器中止(终止)

我想知道这个错误消息是否准确,因为我不知道为什么遥控器会终止连接。此外,这些调用不会显示在指标选项卡中,因此我认为这些请求从未到达服务器。

我正在像这样导入 tokio 和 sqlx 板条箱:

有谁知道这个错误是什么意思/我做错了什么?