25 个版本
0.2.25 | 2024年6月20日 |
---|---|
0.2.23 | 2024年3月11日 |
0.2.22 | 2023年9月30日 |
0.2.16 | 2023年7月27日 |
0.2.1 | 2022年6月16日 |
#682 在 数据库接口
每月下载量:536
用于 8 个包(直接使用3个)
45KB
1K SLoC
mdsn
M-DSN:一个多地址 DSN(数据源名称)解析器。
M-DSN 支持两种 DSN 格式
<驱动程序>[+<协议>]://<username>:<password>@<addresses>/<database>?<params>
<驱动程序>[+<协议>]://<username>:<password>@<fragment>?<params>
<驱动程序>://<username>:<password>@<protocol>(<addresses>)/<database>?<params>
所有项目都将解析为结构体 Dsn。
解析器
use mdsn::Dsn;
// The two styles are equivalent.
let dsn = Dsn::parse("taos://root:taosdata@host1:6030,host2:6030/db")?;
let dsn: Dsn = "taos://root:taosdata@host1:6030,host2:6030/db".parse()?;
assert_eq!(dsn.driver, "taos");
assert_eq!(dsn.username.unwrap(), "root");
assert_eq!(dsn.password.unwrap(), "taosdata");
assert_eq!(dsn.database.unwrap(), "db");
assert_eq!(dsn.addresses.len(), 2);
assert_eq!(dsn.addresses, vec![
mdsn::Address::new("host1", 6030),
mdsn::Address::new("host2", 6030),
]);
DSN 示例
TDengine 驱动程序的 DSN taos。
taos://root:taosdata@localhost:6030/db?timezone=Asia/Shanghai&asyncLog=1
具有多地址
taos://root:taosdata@host1:6030,host2:6030/db?timezone=Asia/Shanghai
Unix 套接字 DSN
unix:///path/to/unix.sock?param1=value
带有 URL 编码套接字目录路径的 postgresql DSN。
postgresql://%2Fvar%2Flib%2Fpostgresql/db
sqlite 数据库文件 DSN,注意你必须使用前缀 ./
对于相对路径文件。
sqlite://./file.db
许可证:MIT OR Apache-2.0
依赖项
~2.9–5MB
~89K SLoC