我正在 Symfony2 中开发一个连接到 SQL Server 实例的私有企业应用程序。我在处理 SQL Server 时遇到了很多问题,但到目前为止我已经解决了它,直到现在。我正在使用 FreeTDS + DBLib 连接到 SQL Server 实例,并且此驱动程序不支持事务。这导致我遇到以下问题:
每次我尝试持久化一个对象时,Symfony(或 Doctrine)都会抱怨:
request.CRITICAL:
PDOException:
This driver doesn't support transactions (uncaught exception) at /.../Doctrine/DBAL/Connection.php line 858
我的第一个想法是禁用事务,因为我通过应用程序进行的数据修改很少。我已经通过 Doctrine's Documentation 搜索了该主题,但找不到任何相关信息。
所以,我的问题是:对于这种缺乏事务支持(一些配置选项,甚至编辑 Doctrine 的 DBAL 源)是否有任何解决方法。
并且:切换到 Propel 会更顺畅吗?我在他们的网站上读到他们支持 SQL Server 并且有关于如何配置 Propel 以便正确使用它的文档。