SqlConnection.open () создает исключение TransactionException 0xe0434f4d - PullRequest
0 голосов
/ 22 января 2010

Код работает нормально при подключении к серверу sql 2005 dbase. но при подключении к серверу SQL Server 2008 dbase происходит сбой.

Сценарий: Webservice сначала подключается к 2008 dbase нормально. Затем во время вызова в объекте COM + происходит сбой подключения.

Недавно обновленные проекты для использования VS2008 и обновления до Sql Server 2008.

using (TransactionScope transactionScope = new TransactionScope(TransactionScopeOption.Required, transactionTimeOut))
{     
   using (SqlConnection sqlConnection = new SqlConnection(DataConnection))
   {
      try
      {
 String command = "my_StoredProcedure";

 using (SqlCommand sqlCommand = new SqlCommand(command, sqlConnection))
 {
             sqlConnection.Open();  //- exception is throw right after this call in the COM+ object.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 25 октября 2014

В моем случае двоичные файлы, развернутые на многих компьютерах в сети, выполнялись нормально, за исключением нескольких машин.Все исключения в коде были обработаны, но, несмотря на это, 0xe0434f4d было выброшено сразу после запуска.Приложение всегда запускалось локально (не из сетевой папки), никаких явных проблем с разрешениями и т. Д. Приложение не имело .NET 3.5 среди своих требований.

Я изучил установленную версию .NET (известное поддерево реестра HKLM\SOFTWARE\NET Framework Setup\NDP) и обнаружил, что подраздел v3.5\SP (ServicePack) НЕ находится на 1.Это означает, что установлен .NET 3.5, но не последняя выпущенная версия (SP1).После загрузки v3.5 SP1 , установки и перезапуска ПК вся проблема исчезла.Таким образом, ключ был " не только любой .NET 3.5, но должна присутствовать последняя версия .NET 3.5 ".

0 голосов
/ 22 января 2010

Похоже, вам не хватает обработки SQLException

http://blogs.msdn.com/tess/archive/2006/04/27/584927.aspx

...