15个版本 (6个稳定版本)
1.0.5 | 2021年7月13日 |
---|---|
1.0.4 | 2021年7月12日 |
1.0.3 | 2021年4月28日 |
1.0.1 | 2021年2月16日 |
0.1.1 | 2020年12月9日 |
#1464在数据库接口
每月42次下载
310KB
5K SLoC
rust_ibm_db
为Rust提供对z/OS、LUW和i的DB2的接口,并支持使用r2d2进行连接池管理。
API文档
有关rust_ibm_db API的完整列表,请参阅ODBC文档
先决条件
RUST已安装(Rust版本应大于等于1.45)。通过在命令提示符中输入以下内容进行确认
>rustc --version
GIT已安装。通过在命令提示符中输入以下内容进行确认
>git --version
如果CLI驱动程序未安装,如何安装
使用以下链接从crates.io下载ibm_db crate
https://crates.io/api/v1/crates/ibm_db/1.0.5/download
完成后,解压缩.crate文件,该文件实际上是.tar.gz文件。
将"examples"文件夹中的setup.rs复制到RUST项目的"examples"文件夹下。
如果不存在,添加以下依赖项
[build-dependencies]
cc = "1.0"
winapi = "0.2"
user32-sys = "0.2"
sys-info = "0.7.0"
bitness = "0.4.0"
error-chain = "0.12.4"
tempfile = "3.1.0"
reqwest = "0.10.10"
tokio = { version = "0.2", features = ["full"] }
futures = "0.3.8"
zip = "0.5"
flate2 = "1.0"
tar = "0.4"
[dependencies]
winapi = "0.2"
user32-sys = "0.2"
sys-info = "0.7.0"
bitness = "0.4.0"
error-chain = "0.12.4"
tempfile = "3.1.0"
reqwest = "0.10.10"
tokio = { version = "0.2", features = ["full"] }
futures = "0.3.8"
zip = "0.5"
flate2 = "1.0"
tar = "0.4"
odbc-safe = "0.5.0"
odbc-sys = "0.8.2"
log = "0.4.1"
encoding_rs = "0.8.14"
prettytable-rs = "^0.8"
lazy_static = "1.0"
r2d2 = "0.8"
现在,运行以下命令一次,完成上述步骤后CLI驱动程序将安装
cargo run --package <package name i.e. ibm_db or <your package name>> --example setup
然后您可以从ibm_db crate使用"cargo install --path . "或"cargo install ibm_db"或根据您的方便简单地包含"ibm_db"驱动程序到您的cargo.toml中。
注意
为了使test/db程序运行,DSN需要配置。更新CLI驱动程序路径下的clidriver/cfg文件夹中的db2dsdriver.cfg文件(位于CLI驱动程序路径下)的相关详细信息。
例如如下
e.g.
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<configuration>
<dsncollection>
<dsn alias="dashdb4" host="[email protected]" name="FOO" port="0000"/>
</dsncollection>
<databases>
<database host="[email protected]" name="FOO" port="0000"/>
</databases>
</configuration>
使用来自Crates.io的最新版本将ibm_db包含在cargo.toml中
或
简单地在此RUST项目中包含此项目。
注意
如果尚未设置,将CLI驱动程序下载的路径添加到Windows/Linux/MACOS环境变量中的Path,即IBM_DB_HOME、PATH和LD_LIBRARY_PATH或DYLD_LIBRARY_PATH,具体取决于Windows/Linux/MACOS,例如
set PATH = C:/IBM/IBM_DATA_SERVER_DRIVER/clidriver/bin
set IBM_DB_HOME = C:/IBM/IBM_DATA_SERVER_DRIVER/clidriver
(or)
export LD_LIBRARY_PATH = /IBM/IBM_DATA_SERVER_DRIVER/clidriver/bin
export IBM_DB_HOME = /IBM/IBM_DATA_SERVER_DRIVER/clidriver
(or)
export DYLD_LIBRARY_PATH = /IBM/IBM_DATA_SERVER_DRIVER/clidriver/bin
export IBM_DB_HOME = /IBM/IBM_DATA_SERVER_DRIVER/clidriver
连接到数据库的许可要求
rust_ibm_db驱动程序可以在Linux、Unix和Windows上连接到DB2,无需任何额外的许可证,但是连接到DB2 z/OS或DB2 i(AS400)服务器需要客户端或服务器端许可证。客户端许可证需要复制到clidriver安装目录下的license文件夹中,对于激活服务器端许可证,您需要购买DB2 Connect Unlimited for System z®和DB2 Connect Unlimited Edition for System i®。
有关许可和购买成本的更多信息,请联系IBM客户支持。
想了解更多关于基于服务器的许可(例如db2connectactivate)的信息,请点击以下链接
如何运行示例程序
要运行示例,即 main.rs,请执行以下操作:
cargo run
您还可以使用以下方式在examples文件夹下运行其他示例程序
cargo run --package ibm_db --example <example_name i.e. connect or list_tables etc.>
e.g. cargo run --package ibm_db --example connect
MACOS注意
如果您收到错误,例如“dyld:未找到库:libdb2.dylib”,请运行以下命令(请将
install_name_tool -change libdb2.dylib $IBM_DB_HOME/lib/libdb2.dylib <RUST_CRATE_LIB>/target/debug/ibm_db
为ibm_db RUST项目做出贡献
请参阅CONTRIBUTING
The developer sign-off should include the reference to the DCO in remarks(example below):
DCO 1.1 Signed-off-by: Random J Developer <random@developer.org>
依赖关系
~18–32MB
~569K SLoC