mediamonks / mssql-bundle
Symfony 扩展包,用于在 *nix(dblib)和 Windows(sqlsrv)上与 Microsoft SQL Server 交互,支持 UTF-8 和事务处理
dev-master / 1.0.x-dev
2017-07-25 09:08 UTC
Requires
- php: ^5.4|~7.0
Suggests
- symfony/framework-bundle: For when using this in Symfony
This package is auto-updated.
Last update: 2024-08-29 04:14:33 UTC
README
MediaMonksMssqlBundle
此扩展包提供了一种驱动,使 Symfony 和 Doctrine (DBAL 和 ORM) 能够在 *nix 系统上使用 dblib 驱动,同时在 Windows 上与 sqlsrv 兼容。
- 在 Windows 上使用 pdo_sqlsrv,在 Unix 上使用 pdo_dblib
- 支持 UTF-8
- 支持事务
- 支持 Doctrine ORM
- 支持 Sonata Admin
- 支持 Symfony Sessions
市面上有一些扩展包和包可以处理 dblib,但不幸的是,我们无法使其支持 UTF-8,所以我们花了很长时间来解决这个难题。鉴于其他人已经在这方面做了很多工作,我们认为我们应该回报社区,并发布这个扩展包。
致谢
- Realestate.co.nz,感谢他们出色的 MssqlBundle,它是此扩展包的基础
- Leaseweb,感谢他们的 PdoDblib 包,这也非常有用
- Michal,感谢他在过去的项目中使用 dblib 时的辛勤工作,你对这个扩展包的贡献非常有价值
- Arjen,感谢他对准备支持 UTF-8 的查询功能的专注工作♥
- Tonny & Elmar 从 .NET 团队,感谢他们在与 Microsoft SQL Server 交互上的帮助
备注
- 除非有非常充分的理由,否则不要使用 pdo_dblib,有机会请使用不同的驱动程序
- 你可能需要更改 FreeTDS 配置文件,确保你能做到
- ORM 的支持需要修改 vendor 目录中的一些 Doctrine 文件,此扩展包提供了一个自动执行此操作的 Composer 脚本
- 进行手动查询时,应始终在 Doctrine DBAL 上使用 executeQuery() 和 executeUpdate()
- 不支持命名参数,UTF-8 字符将被保存为 ?
- 此扩展包仅在 SQL Server 2008 R2 SP2 和 nvarchar 字段上进行了测试
- ORM 中的联合继承映射尚未支持,因为我们尚未需要它,这可能在将来得到支持
- Symfony 会话处理器现在不使用锁定,这可能在将来得到支持
- 由于原始的 Doctrine 测试可能也会失败,所以没有测试,请将此扩展包作为现有状态使用,但如果你发现了问题并解决了它,请创建一个 PR
- MediaMonks 对任何数据丢失不承担责任,使用 dblib 和此驱动程序风险自担
文档
请参阅 /Resources/doc 文件夹中的文件。