0 голосов
спросил от в категории NETNET4
Из того, что следует видеть в вашем коде, единственное объяснение, которое я могу представить, это то, что ваш SqlCommand Cmd не связан с SqlConnection GlbSQLCOnn , на котором вы начали транзакцию.

Имя вашего соединения, GlbSQLCOnn , похоже, указывает, что это «глобальный» объект соединения , Нет причин делать что-то подобное. Подключения к Sql-Server объединены по умолчанию - так что вы ничего не получаете, повторно используя один и тот же объект соединения на протяжении всего срока службы вашего приложения. Вместо этого он может стать беспорядочным (ваша проблема здесь, похоже, является примером). Вот почему я предлагаю вам использовать любые объекты SqlClient только локально.

Псевдокод:
someMethod()    using connection = new SqlConnection(connectionString)    using transaction = connection.BeginTransaction    using command = new SqlCommand(connection, transaction)       connection.Open       // do something here       transaction.Commit    end using end method


Даже если мое предположение из первого абзаца неверно, вы решите свою проблему, придерживаясь вышеуказанного «шаблона».

Пожалуйста, войдите или зарегистрируйтесь чтобы ответить на этот вопрос.

Категории

Добро пожаловать на сайт DraftingCode Q&A, где вы можете задавать вопросы и получать ответы от других членов сообщества.

Связанных вопросов не найдено

...