ИНФОРМАЦИЯ: Не выполнена регистрация на вызов транзакции объекта ошибки "-2147168246 (8004d00a)"

Переводы статьи Переводы статьи
Код статьи: 191168 - Vizualiza?i produsele pentru care se aplic? acest articol.
Примечание Это сообщение об ошибке могут быть связаны с номер ошибки -2147168246 (8004d00a).

Важно Данная статья содержит сведения о редактировании реестра. Перед редактированием реестра убедитесь, что вы знаете, как восстановить его, если проблема возникает. Для получения дополнительных сведений о том, как это сделать, "Восстановление Раздел реестра"в Regedit.exe или справки «Восстановление реестра» раздел в Regedt32.exe.
Развернуть все | Свернуть все

В этой статье

Аннотация

Что означает сообщение "не удалось Enlist для вызывающего объекта транзакция"означает?

Диспетчер драйвера ODBC сообщает об этой ошибке при Транзакционный компонент Microsoft Transaction Server попытается открыть подключение к базе данных и диспетчер драйверов не удается выполнить прикрепление базы данных подключение в текущую транзакцию. Присоединяет диспетчер драйверов ODBC подключение к базе данных в текущей транзакции, вызвав драйвер ODBC Процедура SQLSetConnectionAttr (SQL_ATTR_ENLIST_IN_DTC). Драйвер ODBC Диспетчер отображает сообщение «Не удалось прикрепить», если вызов SQLSetConnectionAttr процедура завершается ошибкой.

Дополнительные сведения следующий номер статьи базы знаний Майкрософт:
193893 Использование баз данных Oracle с Microsoft Transaction Server

Дополнительная информация

При использовании Microsoft SQL Server.

Если эта ошибка возникает, когда транзакций Microsoft Компонент сервера транзакций обращается к базе данных Microsoft SQL Server Проверьте следующее:
  1. Убедитесь, что координатор распределенных транзакций Coordinator(MS DTC) служба запущена.

    Убедитесь, что служба MS DTC На компьютере, на котором запущена служба сервера транзакций Microsoft компоненты развертываются. Если приложение Microsoft Transaction Server доступ к базе данных Microsoft SQL Server на удаленном компьютере, убедитесь, что в этой системе также запускается служба MS DTC. Это часто является причиной из «ошибка ошибки вовлечения в транзакцию».

    Выполните следующие действия для Проверка состояния службы MS DTC:
    1. На Пуск меню, выберите параметры и затем Панель управления.
    2. Выберите значок службы.
    3. Прокрутите список служб и убедитесь, что Состояние службы MS DTC запущена. Если состояние MS DTC (не пусто запущен), то можно запустить с выберите MSDTC и нажмите кнопку Пуск.
  2. Проверьте конфигурацию сети.

    При Транзакционный компонент Microsoft Transaction Server на доступ к одной системы База данных SQL Server на другой системе MS DTC распространяет транзакцию DTC из первой, или основной системы на вторичный компьютер. Транзакции Распространение происходит только в том случае, если процессу DTC на основном компьютере можно взаимодействовать с процессом DTC на вторичном компьютере. Процессы DTC подключения удаленного вызова (RPC) в обоих направлениях, который означает, что проблемы с сетью на любой из систем может предотвратить DTC процессы успешно связываться друг с другом. В этом случае ODBC Возвращает ошибку «Не удается прикрепить».

    Часто следующее событие MS DTC записывается в журнал событий приложений Windows NT:
    Основной: Произошел сбой привязки сеанса. Основной превышен при ожидании вторичный для привязки.
    Эта ошибка указывает, что служба DTC сервера Microsoft Transaction Server компьютере удалось выполнить привязку к DTC на SQL Server, но DTC на SQL Server не удалось выполнить обратную привязку к Microsoft Transaction Server компьютер.

    Если настройки сети не соответствует действительности, каждая попытка для подключения к удаленной базе данных SQL Server приводит «не удалось прикрепить» Ошибка. Если постоянно возникает ошибка «не удалось прикрепить» даже после Microsoft Служба DTC запущена на обоих компьютерах, наиболее вероятная причина сбоя Ошибка конфигурации сети.

    В этом случае проверьте сетевые Конфигурация с использованием Pingtest.bat следующим образом:
    1. Чтобы создать файл с помощью текстового редактора (например «Блокнота») с именем Pingtest.bat. Скопируйте следующие команды.
         echo off
         REM Usage pingtest OtherMachineName
         REM Must use a machine name and NOT an IP address
         ping -n 1 %computername%
         ping -n 1 %1
         ipconfig /all
         echo on
      Пакетный файл % computername % используется для отображения локального IP-адреса. Он затем отображает IP-адрес удаленного компьютера, укажите в команде строки при запуске пакетного файла. При запуске пакетного файла, необходимо Укажите имя удаленного компьютера, а не IP-адрес. С помощью Имя компьютера заставляет программу ping выполнить разрешение имени компьютера точно так же, как MS Если он привязывается к удаленному компьютеру MS DTC не DTC.
    2. Запустите файл Pingtest.bat на сервер транзакций Чтобы определить, можно ли ping компьютер SQL Server по имени компьютера. Захват выходные данные из пакетного файла в текстовом файле. Например если Microsoft Сервер транзакций выполняется на компьютере A и SQL Server выполняется на компьютер B, введите следующую команду:
      Pingtest B > AResults.txt
    3. Запустите файл Pingtest.bat на компьютере SQL Server. Определите, если можно ping Microsoft Transaction Server компьютера по его имени. Запишите выходные данные из пакетного файла в текстовом файле. Например если Microsoft Transaction Server работает на компьютере A и работает под управлением SQL Server на компьютере B введите следующую команду:
      Pingtest A > BResults.txt
    4. Проверять содержимое двух текстовых файлов для обеспечения что эти компьютеры могут друг с другом успешно выполнить команду ping.

      При использовании Узлы или файлы Lmhosts для разрешения имен TCP/IP, проверьте эти файлы очень внимательно, чтобы убедиться в том, что они содержат правильные имена компьютеров IP-адресу сопоставления. Для этого проверьте узлами и в файлах Lmhosts Каталог Winnt40\System32\Drivers\Etc на обоих Microsoft Transaction Server компьютер и компьютер SQL Server. Как правило будет файл на одном компьютере быть правильно, пока на них неверно.
  3. Настройка SQL Server на использование TCP/IP вместо именованных Каналы.

    Если же появляется сообщение об ошибке «не удается выполнить прикрепление» периодически, затем с помощью именованных каналов вместо TCP/IP может быть причиной проблемы. Использование именованных каналов может привести к периодические ошибки «Не удалось прикрепить».
    Корпорация Майкрософт рекомендует настроить SQL Server на использование TCP/IP вместо именованных каналов. Использование именованных каналов может привести к "не постоянно ошибки в Enlist".
    1. На Пуск Выберите меню, выберите программы, Microsoft SQL Server 6.5, а затем Нажмите кнопку Служебная программа настройки клиента SQL.
    2. Нажмите кнопку Сетевая библиотека Вкладка.
    3. Выберите в списке по умолчанию сетевой TCP/IP Сокеты.
    4. Нажмите кнопку Выполнено.
  4. Проверка времени ожидания транзакций.

    Этот компонент транзакции могут остановлена из-за тайм-аута транзакции до базы данных было завершено вовлечение. Можно увеличить значение времени ожидания транзакций с помощью в обозревателе серверов Microsoft Transaction. Выполните следующие действия, чтобы увеличить значение времени ожидания:

    1. Запустите проводник Microsoft Transaction Server и Выберите компьютеры.
    2. Щелкните правой кнопкой мыши компьютер, где был транзакции инициируется, а затем нажмите кнопку Свойства.
    3. Нажмите кнопку Параметры вкладки и задать более продолжительный интервал.
    Это маловероятно быть проблемы, если транзакции имеют необычно долго. Тем не менее может оказаться полезным временно увеличить значение времени ожидания, чтобы исключить этот возможный источник ошибки.

При использовании баз данных Oracle

Если эта ошибка возникает, когда транзакций Microsoft Компонент сервера транзакций обращается к базе данных Oracle, проверка следующие:
  1. Убедитесь, что служба MS DTC запущена.

    Убедитесь, что служба Microsoft DTC «запущена» на компьютере, на котором Microsoft Transaction Server компоненты развертываются.
    Использование следующие действия, чтобы проверить его состояние:
    1. На Пуск меню, выберите параметры и затем Панель управления.
    2. Выберите значок службы.
    3. Прокрутите список служб и убедитесь, что Состояние службы MS DTC запущена. Если состояние MS DTC (не пусто запущен), то можно запустить с выберите MSDTC и нажмите кнопку Пуск.
  2. Установите последнюю версию программного обеспечения клиента Oracle на Microsoft Компьютер сервера транзакций.

    Убедитесь, что последние Oracle 7.3 или Выпуск исправлений программного обеспечения клиента Oracle 8 установлен в системе, содержащей компоненты Microsoft Transaction Server. Обратите внимание, что общие для обновления программное обеспечение Oracle на системы, содержащей базы данных Oracle, но не Обновите программное обеспечение Oracle на системы, содержащей Microsoft Серверные компоненты транзакции. Необходимо обновить программное обеспечение Oracle на Клиентская система.

    Можно получить последние обновления для Windows NT Oracle на узле Oracle FTP. Перейти к:
    FTP://Oracle-FTP.Oracle.com и выберите пункт «сервер», «wgt Технический», «сервер» и «другая»
  3. Установите последнюю версию программного обеспечения сервера Oracle на базу данных Oracle Серверная система.

    Если приложение Microsoft Transaction Server доступ к базе данных Oracle в системе Windows NT или UNIX, убедитесь, что последние исправления Oracle установлена в системе.

    Можно получить последние исправления Oracle для Windows NT с Oracle FTP-узла. Перейти к:
    FTP://Oracle-FTP.Oracle.com и выберите пункт «сервер», «wgt Технический», «сервер» и «другая»
  4. Используйте драйвер ODBC Oracle корпорации Майкрософт.

    Сделать Некоторые, что Microsoft Transaction Server использует Microsoft Oracle ODBC драйвер. Другой драйвер Oracle ODBC не поддерживает Microsoft Transaction Server транзакции.

    Необходимо установить один из следующих Oracle корпорации Майкрософт Драйверы ODBC, если вы хотите использовать Microsoft Transaction Server операций из платформы Intel x 86.

    Свернуть эту таблицуРазвернуть эту таблицу
    Драйвер ODBC MS OracleВерсия НомерВыпуск автомобилей
    обновления 2.02.73.7283.03MDAC 1.5b
    MDAC 1.5c
    Windows NT 4.0 Option pack
    обновления 2.02.73.7356ODBC 3.5 SDK
    2.52.573.2927Visual Studio 6.0
    Доступ к данным SDK 2.0
    MDAC 2.0

    Необходимо установить драйвер ODBC Oracle Microsoft 2.5 версия 2.573.2927, если вы хотите использовать Microsoft Transaction Server транзакции из платформы Compaq Alpha. Более ранние версии Microsoft Драйвер ODBC для Oracle не поддерживает альфа Compaq платформы.

    Вы можете Получите Microsoft 2.5 драйвер ODBC Oracle из:

    Веб-страницы Microsoft универсального доступа к данным (MDAC) по ссылки ниже «загрузка».

    Если вы хотите получить доступ к Oracle базы данных, мы рекомендуем использовать драйвер ODBC Oracle Microsoft 2.0 или более поздней драйвер, даже если не требуется поддержка транзакций. Предлагает новый драйвер лучшую производительность, чем его заменить драйвер ODBC Oracle Microsoft 1.0 Oracle 1.0 драйвер сериализуются все действия на уровне драйвера. запросы были однопотоковое выполнение драйвера. Oracle Microsoft 2.0 и более поздних версий драйверов. сериализует все действия на уровне соединения. Это позволяет другой подключения баз данных для использования в параллельном режиме.
  5. Убедитесь, что включена поддержка Oracle XA.

    Проверьте, чтобы убедиться, что включена поддержка транзакций Oracle XA. Для получения дополнительных сведений сведения, обратитесь к разделу «Включение Oracle XA транзакции под названием Поддержка"в базах"с помощью данных Oracle с Microsoft Transaction Server» документ.

    1. Если вы используете Oracle 7.3, убедитесь, что V$ XATRANS$ существует. В этом представлении должен был быть создан во время установки библиотеки XA. Если это представление не существует, его необходимо создать системным администратором Oracle запущен Oracle предоставленный сценарий с именем «XAVIEW.SQL". Этот файл можно найти в C:\ORANT\RDBMS73\ADMIN. Этот сценарий SQL должен выполняться как пользователя Oracle «SYS».

      При использовании Oracle8, должны существовать в этом представлении. Вы должны не требуется для его создания.
    2. Для Oracle 7.3 и Oracle8 в системе Oracle Администратор должен предоставить Выбор режима доступа для общественности на Просмотр DBA_PENDING_TRANSACTIONS.
      Grant Select on V$XATRANS$ to public.
    3. Нажмите кнопку Диспетчер экземпляра Oracle Расширенный режим на Представление меню и выберите «параметры инициализации» на левой панели. В на правой панели выберите «Расширенные настройки» и увеличить параметр «distributed_transactions», который позволит более параллельные транзакции MTS Обновление базы данных за один раз.
    Для получения дополнительных сведений в документации сервера Oracle сведения о настройке поддержки транзакций Oracle XA.
  6. Убедитесь, что настроены числовые знаки Oracle правильно.

    Предупреждение Неправильное использование редактора реестра может привести к серьезным проблемам может потребоваться переустановка операционной системы. Корпорация Майкрософт не гарантирует решения проблем, возникших в результате неправильного использования редактора реестра разрешена. Используйте редактор реестра на свой страх и риск.

    Дополнительные сведения о как внести изменения в реестр, просмотреть раздел справки «Изменение ключей и значений» в Редактор реестра (Regedit.exe) или «добавление и удаление сведений в Реестр» и «Редактирование данных реестра» разделы справки в Regedt32.exe. Обратите внимание, резервную копию реестра перед внесением изменений.

    У пользователей системы, расположенные за пределами США может потребоваться настройка числового Oracle Поддержка символов. В реестре Windows NT найдите следующие разделы ключ:
    HKEY_LOCAL_MACHINE\SOFTWARE\Oracle
    и добавьте эту запись:
    "NLS_NUMERIC_CHARACTERS"=".,"
    ПРИМЕЧАНИЕ: Знаки внутри заключенные в кавычки строки выше являются точкой и запятая в указанном порядке.
  7. Убедитесь в том, что Oracle настроена с достаточной подключения.

    Если требуется создать несколько десятков подключений для базы данных Oracle убедитесь, что Oracle настроена для поддержки дополнительных подключения к базе данных. Дополнительные сведения можно найти в разделе «Настройка Oracle для поддержки большого числа подключений» в документе «Использование баз данных Oracle с Microsoft Transaction Server».
  8. Убедитесь, что подключение к базе данных Oracle При использовании встроенной безопасности Oracle.

    При использовании интегрированной Oracle Безопасность, создание определенных, MS DTC выполняется под Логина и пароля полномочия на подключение к базе данных Oracle. Дополнительные сведения Обратитесь к разделу под названием «Настройка интегрированной безопасности» в документе «Использование баз данных Oracle с Microsoft Transaction Server».
  9. Запустите программу TestOracleXAConfig.

    Запуск Убедитесь в том, что можно успешно подключиться к программе TestOracleXAConfig База данных Oracle без использования Microsoft Transaction Server. Для получения дополнительных сведений сведения, обратитесь к разделу под названием «тестирование установки и Конфигурация MTS поддержки Oracle"в"с помощью базы данных Oracle с Документ Microsoft Transaction Server".
  10. Запустите пример банка.

    Запустите пример банка программы, чтобы убедиться в том, что можно успешно подключиться к базе данных Oracle в программе Microsoft Transaction Server. Дополнительные сведения см. раздел, озаглавленный «проверка установки Oracle и использование конфигурации Образец банковское приложение"в документе «использование Oracle баз данных с Microsoft Сервер транзакций».
  11. Включите трассировку Oracle.

    Oracle поддерживает Создание файлов трассировки, которые хранят информацию, передаваемую между Oracle клиент и сервер. Эти файлы могут оказаться весьма полезными при диагностике проблемы. Убедитесь, что Oracle трассировки следующим образом:
    1. Убедитесь, что Mtxoci.dll, установленные в системе MTS версии 1998.08.762.0 или более поздней версии. С была выпущена версия 1998.08.762.0 Выпуск NT4 Пакет обновления 4. Она была первой версии Mtxoci.dll, можно включить трассировку Oracle и место расположения трассировки Oracle файлы.
    2. С помощью проводника найдите и удалите все существующие Oracle файлы трассировки в вашей системе. Эти файлы имеют имена, которые заканчиваются на суффикс «.trc». Удалив все устаревшие файлы, можно облегчить поиск любого вновь созданным объектам.
    3. Запустите редактор РЕЕСТРА, чтобы создать следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Transaction Server\Local Computer\My Computer\OracleTraceFilePath
      Получить этот ключ следующее значение REG_SZ:
      C:\OraTrace+DbgFl=7
      Можно выбрать другой диск и каталог для трассировки файлы, если требуется.
    4. Чтобы создать файл трассировки Oracle с помощью обозревателя каталог. В нашем примере создайте каталог "OraTrace" на «C» диск.
    5. Прекращение доступа к Oracle пакет MTS базой данных. Остановив пакета убедитесь, что все существующие базы данных Oracle подключения закрываются, и при открытии новых подключений к базе данных Oracle Далее вызывается компонента MTS. Эти вновь открыть базу данных Oracle соединения имеют Oracle трассировка включена.
    6. Вызывает компонент Microsoft Transaction Server, открывает базу данных Oracle.
    7. Проверьте созданный трассировки Oracle файлы.
  12. Включить трассировку ошибки MTS и Oracle.

    Способен MTS Дополнительные сведения об ошибках Oracle в Windows записи Журнал событий приложений. Эти сведения можно записать следующим образом:
    1. Запустите редактор РЕЕСТРА, чтобы создать следующий раздел реестра:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\MTx.Ini\TRACE
    2. Прекращение доступа к Oracle пакет MTS базой данных. Остановив пакета убедитесь, что выполняет Mtxoci.dll Трассировка при перезапуске.
    3. Вызывает компонент Microsoft Transaction Server, открывает базу данных Oracle.
    4. Используйте окно просмотра событий Windows для проверки приложения журнал событий. Поиск события, создаваемые MTXOCI. Регистрируются события, как следующие:
      Строковое сообщение: ошибка при вызове sqlld2 Ошибка 0x849.
      Значение ошибки отображается в восьмеричное. Можно использовать Программа калькулятор для преобразования в десятичное значение ошибки. В этом примере «0x849» преобразуется в значение Oracle ошибки 2121.
  13. Проверьте время ожидания транзакции.

    Следует ли Может сделал транзакций Microsoft Transaction Server компонента перед Присоединение базы данных завершено. Это может произойти, если время ожидания транзакций Срок действия истекает до завершения присоединения базы данных Oracle.

    Вы можете Увеличьте значение времени ожидания транзакций с помощью транзакций Microsoft Обозреватель серверов. Чтобы сделать это, выполните следующие действия.

    1. Запустите проводник Microsoft Transaction Server и выберите На компьютерах.
    2. Щелкните правой кнопкой мыши компьютер, где был транзакции инициируемые и выберите команду Свойства в контекстном меню.
    3. Выберите Параметры вкладки и задать более продолжительный интервал.
    Это маловероятно быть проблемы, если транзакции длилась не более одной минуты. Тем не менее может оказаться полезным временно Увеличьте значение тайм-аута, чтобы исключить этот возможный источник ошибки.

Что делать, если вы все еще получить эту ошибку

При появлении этой ошибки по-прежнему после выполнения всех описанных Здесь следует отчет об ошибке в службу технической поддержки Майкрософт Организация. Укажите следующую информацию в отчет об ошибках.
  1. Опишите неполадку. Возникновения ошибки «Не удалось прикрепить» происходит каждый раз при попытке использования транзакций Microsoft Transaction Server или сбоя периодически? Если ошибка является постоянным, как часто не Это происходит?
  2. Опишите конфигурацию приложения и системы.
    1. Описание системы Microsoft Transaction Server компоненты приложений устанавливаются на. При использовании базы данных Oracle предоставить версию клиентского программного обеспечения Oracle и Microsoft Oracle Драйвер ODBC используются.
    2. Используется база данных Microsoft SQL или Oracle базы данных? База данных на одном компьютере с Microsoft Transaction Компоненты сервера приложений или на отдельном компьютере? Если вы используете базы данных Oracle, какого рода системы является база данных Oracle, установленных на и какие версии программного обеспечения Oracle?
    3. Какой сетевой транспорт используется: TCP/IP, именованные Каналы, IPX/SPX и т. д.? Какие службы имен вы используете: узла DNS, WINS файлы и т. д.?
  3. Программа TestOracleXAConfig запускается?

    Если вы с помощью базы данных Oracle, попробуйте запустить программу TestOracleXAConfig. Если Эта программа не выполняется, проблема связана с Oracle. Пожалуйста, сообщите о проблеме в Поддержка клиента Oracle.
  4. Пример банка программа запускается?

    Попытайтесь запустить Пример банковской программы с Microsoft SQL Server. Если вы используете Oracle базы данных, пример банка приложение запущено с Oracle? Если нет, какие ошибки возникают?
  5. Какие ошибки трассировки Oracle файлы?

    При использовании базы данных Oracle, какие сведения содержится в файлах трассировки Oracle? Для сбора этой информации, сначала найти и Удаление всех существующих файлов трассировки Oracle в системе. Эти файлы имеют имена заканчивается расширением .trc. После удаления всех существующих файлов трассировки, запустите неисправный компонент Microsoft Transaction Server и сообщить Майкрософт содержимое файлов трассировки Oracle.
  6. Какие ошибки в событии Windows NT. журнал?

    Проверьте журнал событий Windows NT и сообщать о всех событиях DTC, записанные или приближается к значению время сбоя.
  7. Используется встроенная безопасность Oracle?

    Отчет При использовании встроенной безопасности Oracle.
  8. Что такое значение времени ожидания транзакций

    Пожалуйста Подсказать корпорации Майкрософт, какое значение времени ожидания транзакций настраивается в корпорации Майкрософт Сервер транзакций.

Ссылки

Для дополнительной сведения, щелкните следующий номер статьи для просмотра статьи в Базы знаний Майкрософт:
193893 Использование баз данных Oracle с Microsoft Transaction Server

Свойства

Код статьи: 191168 - Последний отзыв: 28 июня 2013 г. - Revision: 5.0
Информация в данной статье относится к следующим продуктам.
  • службы транзакций Microsoft Transaction Services 2.0
Ключевые слова: 
kbdatabase kberrmsg kbinfo kbmts kbmts100 kbmts200 kbmt KB191168 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.
Эта статья на английском языке: 191168
Заявление об отказе относительно содержимого статьи о продуктах, поддержка которых прекращена
Эта статья содержит сведения о продуктах, поддержка которых корпорацией Майкрософт прекращена. Поэтому она предлагается как есть и обновляться не будет.

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com