Не удается прочитать непринятые данные из того же сеанса в MySql / .net соединитель

Я бился головой об стену с этим, может быть, кто-то может пролить свет на то, что может быть причиной такого поведения.

У меня есть приложение asp.net (2.0), которое как-то делает:

using (TransactionScope scope = new TransactionScope (...)) {

// ... делаем несколько запросов

InsertOrder ();

InsertOrderDetails ();

// делаем больше логики и запросов

ReadOrder (); // читает вновь вставленный ордер ОК

ReadOrderDetails (); // ЗДЕСЬ ПРОБЛЕМА, Я НЕ МОГУ ЧИТАТЬ ВСТАВЛЕННЫЕ ДЕТАЛИ

// делаем больше вставок ....

scope.Complete ();

}

Еще немного контактной информации:

  • Сообщество MySql5.0.27
  • MySql / net разъем 5.2.3
  • Order и OrderDetails - это InnoDB с ограничениями FK
  • Опрос включен (хотя я пытался отключить опрос и имеет такое же поведение)
  • Я попытался установить разные уровни изоляции в транзакции на случай одного и того же поведения, но это одно и то же соединение, поэтому оно не должно иметь значения, верно?

У кого-нибудь есть идеи о том, что может быть причиной этого?

Любая помощь будет принята с благодарностью

Jaime

15.12.2008 22:49:36
2 ОТВЕТА

Я предполагаю, что разные функции, которые вы вызываете, выбирают разные соединения, поэтому они не видят незавершенных изменений в транзакции.

Один из способов проверить это - получить идентификатор соединения и сравнить его.

1
16.12.2008 07:06:08
РЕШЕНИЕ

Я на самом деле делал глупую вещь с запросом, не позволяющим ему вернуть какой-либо результат ... Ничего общего с транзакцией или MySql

0
17.06.2011 03:31:26