符合DB API 2.0的SQL Server驱动程序
项目描述
cTDS是一个完全符合Python DB API-2.0的SQL Server数据库库,支持Linux、Windows和Mac OS X,兼容Python 2和Python 3。
cTDS 的完整文档可以在 这里 找到。
特性
支持 Microsoft SQL Server 2008 及以上版本。
完全支持 DB API-2.0。
支持 Python 2.6, Python 2.7, Python 3.3, Python 3.4, Python 3.5, Python 3.6, Python 3.7, Python 3.8 和 Python 3.9。
支持批量插入(bcp)。
完全用 C 语言编写。
依赖项
发布
使用 GitHub Actions 工作流程自动化发布 egg 和文档的新版本。使用 git 标签 标记官方发布。将标签推送到 git 远程将触发自动化部署。例如:
git tag -a v1.2.3 -m 'v1.2.3'
git push --tags
文档
使用以下命令生成文档:
tox -e docs
# Generated to build/docs/
文档托管在 GitHub Pages 上。因此,必须将文档页面的源代码提交到 gh-pages 分支,以便更新实时文档。
开发
在基于 Linux 的系统上运行 tox 和 Docker 支持本地开发和测试。使用 Docker 容器运行 SQL Server on Linux 的本地实例。仅在 Linux 或 OS X 系统上本地运行测试时需要 Docker 和 tox。推荐使用 pyenv 管理多个本地区域版本的 Python。默认情况下,所有测试都针对系统版本的 FreeTDS 运行。提供了 GNU Make 目标,用于在测试目的下本地编译特定的 FreeTDS 版本。例如:
# Run tests against FreeTDS version 1.1.24
make test-1.1.24
开发和测试需要一个运行 SQL Server on Linux 的实例以进行验证。提供了一个脚本 ./scripts/ensure-sqlserver.sh,用于启动运行数据库并创建测试使用的登录名。
# Start a docker-based SQL Server instance.
# The default tox targets will do this automatically for you.
make start-sqlserver
# Run tests as needed ...
# Stop the docker-base SQL Server instance.
make stop-sqlserver
测试
测试设计为使用 Docker 容器和 SQL Server on Linux 相对无缝。使用 pytest 框架运行自动化测试。
要针对系统版本的 FreeTDS 和 Python 运行测试,请使用
tox
提供了 GNU make 目标,以便方便地提供构建和安装测试中使用的各种版本 FreeTDS 的标准方法。大多数目标都是围绕 tox 或复制 CI/CD 自动化中的某些行为。
要针对任意版本的 FreeTDS
# Python X.Y & FreeTDS Z.ZZ.ZZ
make test_X.Y_Z.ZZ.ZZ
要针对所有受支持的版本 FreeTDS 和 Python 运行测试,以及进行额外的代码检查和元数据检查
make check
Valgrind
使用 valgrind 确保内存得到适当管理,并检测内存泄露、缓冲区溢出等缺陷。由于 valgrind 需要使用特定的标志编译 Python,提供了一个 Docker 文件以在必要时编译 Python 以在 valgrind 下运行测试套件。
在 valgrind 下运行测试套件
make valgrind
项目详情
ctds-1.14.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4b5bbef80a60284297c9d221a5ad3bec78f26ad4f950e899c2fcc322166f82fa |
|
MD5 | 93ba2d8993d62434461207ea451b7568 |
|
BLAKE2b-256 | 4ea9c4301ddaa10c4d42b937c4c8da9cd5fda688f772bfb37a5b7ee67ce22c12 |