Ошибка TransactionScope против SQL-сервера 2000 - менеджер транзакций партнера отключила свою поддержку удаленных/сетевых транзакций

Если вы используете Jinja2, вы можете объединить два списка в один оператор +:

{% for i in user_group1|list + user_group2|list %}
<tbody>
    <td>{{ i.username }}</td>
    <td>{{ i.place }}</td>
</tbody>
{% endfor %}
5
задан Bramha Ghosh 26 November 2008 в 15:00
поделиться

3 ответа

Смотрите здесь:

Быстрые транзакции с Системой. Транзакции и Microsoft SQL Server 2000 http://blogs.msdn.com/florinlazar/archive/2005/09/29/475546.aspx

И здесь:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=230390&SiteID=1

Сначала проверьте, "Распределяют Координатора Транзакции" Сервис, работает и на компьютере сервера базы данных и на клиентских компьютерах
1. Перейдите к "Средствам администрирования> Сервисы"
2. Включите, "Распределяют Координатора Транзакции" Сервис, если он не работает

Если это - запущенное и клиентское приложение, не находится на том же компьютере как сервер базы данных, на компьютере, выполняющем сервер базы данных
1. Перейдите к "Средствам администрирования> Сервисы Компонента"
2. На левом дереве навигации перейдите к "Component Services> Компьютеры> Мой Компьютер" (Вы, возможно, должны дважды щелкнуть и ожидать, как некоторым узлам требуется время для расширения),
3. Щелкните правой кнопкой по "My Computer", выберите "Свойства"
4. Выберите вкладку "MSDTC"
5. Нажмите "Security Configuration"
6. Удостоверьтесь, что Вы проверяете "Сеть Доступ DTC", "Позволяют Удаленному Клиенту", "Позволяют Входящий/Исходящий", "Включают ПОДСКАЗКА" (Некоторая опция не может быть необходимой, иметь попытку получить Вашу конфигурацию),
7. Сервис перезапустит
8. НО ВЫ, ВОЗМОЖНО, ДОЛЖНЫ ПЕРЕЗАГРУЗИТЬ СВОЙ СЕРВЕР, ЕСЛИ IT ВСЕ ЕЩЕ не РАБОТАЕТ (Это - вещь, свел меня с ума прежде),

На Вашем клиенте компьютер использует то же выше процедуры для открытия установки "Security Configuration", удостоверьтесь, что Вы проверяете "Сеть Доступ DTC", опция "Allow Inbound/Outbound", перезапустите сервис и компьютер при необходимости.

На Вас менеджер по сервису SQL-сервера нажмите выпадающий "Service", выберите, "Распределяют Координатора Транзакции", он должен также работать на Вашем сервере.

6
ответ дан 14 December 2019 в 01:20
поделиться

Реализация DatabaseTransactionAdapter в сообщении Florin Lazar, на которое тот Keith Sirmons указал на меня, кажется, добивается цели. Вот мой код, который называет его:

Store.DBDataContext dc = new Store.DBDataContext();
using (TransactionScope transaction = new TransactionScope())
{
    try
    {
        var dbAdapter = new DatabaseTransactionAdapter(dc.Connection);
        dc.Connection.Open();
        dbAdapter.Begin();
        dc.Transaction = (SqlTransaction)dbAdapter.Transaction;
        Store.Product product = GetProduct("foo");
        dc.InsertOnSubmit(product);
        dc.SubmitChanges();
        transaction.Complete();
    }
    catch (Exception ex)
    {                
        throw ex;
    }
}

Единственная вещь, которая делает меня обеспокоенным, состоит в том, что я явно не закрываю соединение даже при том, что оно не объявляется в операторе 'использования'.

Но по словам Florin Lazar, это нарочно.

И Вы также не должны закрывать соединение, потому что соединение должно остаться открытым, пока транзакция не завершается, который происходит после того, как оператор “использования” заканчивается. Адаптер возьмет владение времени жизни соединения и закроет его, когда оно будет сделано с ним.

2
ответ дан 14 December 2019 в 01:20
поделиться

больше уведомления, что: - доступ COM + сети Server Configuration Guide Enable (Windows Server 2003) Запускается ==>, Панель управления ==> Добавляет или Удаляет Программы ==>, Добавляют/Удаляют Windows Components, Избранный Сервер приложений, и затем нажимают Details. Нажмите доступ COM + сети Enable и затем нажмите "OK". Нажмите Далее и затем нажмите Finish.
- Если между 2 серверами имеют брандмауэр, открытый брандмауэр для обоих в / на этом порте диапазона: Нажмите Start ==> Control Panels ==> Administrative Tools ==> Component Services. Разверните сервис Компонента, разверните Компьютеры, Щелкните правой кнопкой по My Computer и выберите Properties. В окне My Computer Properties нажмите на вкладку Default Protocol, нажмите на TCP/IP с установлением соединения и выберите свойства. в новом окне щелчок добавляет и вводит новый диапазон портов DTC. Нажмите на OK для применения, они изменяются. Сервер должен быть перезапуском для нового изменения, вступают в силу

0
ответ дан 14 December 2019 в 01:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: