Я разрабатываю частное корпоративное приложение в Symfony2, которое подключается к экземпляру SQL Server. У меня было много проблем при работе с SQL Server, но до сих пор я справлялся с этим, до сих пор. Я использую FreeTDS + DBLib для подключения к экземпляру SQL Server, и этот драйвер не поддерживает транзакции. Это приводит меня к следующей задаче:Symfony2 + Doctrine2 + SQL Server - Поддержка транзакций
Каждый раз, когда я пытаюсь сохранить объект, Symfony (или доктрина) сетует:
request.CRITICAL:
PDOException:
This driver doesn't support transactions (uncaught exception) at /.../Doctrine/DBAL/Connection.php line 858
Мой первый, хотя должен был отключить транзакции, как модификация данных я делаю через приложение минимально. Я искал эту тему над документацией Доктрины, но я не мог найти никакой соответствующей информации.
Итак, мой вопрос: существует ли какое-либо обходное решение для этого отсутствия поддержки транзакций (какой-либо вариант конфигурации или даже редактирование источника DBAL Доктора).
И: Будет ли более гладким просто переключиться на Propel? Я прочитал на своем веб-сайте, что они поддерживают SQL Server и имеют документацию о том, как настроить Propel для правильного использования.
Благодарим вас за разъяснение. Я действительно не копался в классе UnitOfWork в источнике Доктрины, который теперь стал яснее. Это была поэтапная интеграция, и я нашел много проблем с ней.Но я обнаружил пакет (PDODblibBundle), который включает в себя классы драйвера и подключения для работы с MSSQL, по-видимому, с поддержкой транзакций. Я попробую этот метод и обновить ответ на более конкретном прозрении. +1 для объяснения. – Tiago