跳转到主要内容

符合DB API 2.0的SQL Server驱动程序

项目描述

https://github.com/zillow/ctds/workflows/CI/CD/badge.svg?branch=master https://ci.appveyor.com/api/projects/status/voa33r7qdnxh6wwp/branch/master?svg=true http://img.shields.io/pypi/v/ctds.svg https://codecov.io/gh/zillow/ctds/branch/master/graph/badge.svg

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 语言编写。

依赖项

有关安装 FreeTDS 的更多信息,请参阅 安装说明

发布

使用 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 的系统上运行 toxDocker 支持本地开发和测试。使用 Docker 容器运行 SQL Server on Linux 的本地实例。仅在 Linux 或 OS X 系统上本地运行测试时需要 Dockertox。推荐使用 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 框架运行自动化测试。

要针对系统版本的 FreeTDSPython 运行测试,请使用

tox

提供了 GNU make 目标,以便方便地提供构建和安装测试中使用的各种版本 FreeTDS 的标准方法。大多数目标都是围绕 tox 或复制 CI/CD 自动化中的某些行为。

要针对任意版本的 FreeTDS

# Python X.Y & FreeTDS Z.ZZ.ZZ
make test_X.Y_Z.ZZ.ZZ

要针对所有受支持的版本 FreeTDSPython 运行测试,以及进行额外的代码检查和元数据检查

make check

Valgrind

使用 valgrind 确保内存得到适当管理,并检测内存泄露、缓冲区溢出等缺陷。由于 valgrind 需要使用特定的标志编译 Python,提供了一个 Docker 文件以在必要时编译 Python 以在 valgrind 下运行测试套件。

valgrind 下运行测试套件

make valgrind

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

ctds-1.14.0.tar.gz (78.0 kB 查看哈希值)

上传时间

支持者