Приложению Lightswitch не удается найти Oracle.ManagedDataAccessDTC при развертывании в IIS

Я создал базовое приложение HTML Lightswitch без пользовательского кода в Visual Studio 2013. Он подключается к базе данных Oracle и работает нормально локально.

Я развернул приложение на сервере с IIS, и приложение загружается, когда я перемещаюсь по URL-адресу, который я создал, но я получаю сообщение об ошибке "Основной поставщик не удалось выполнить в EnlistTransaction", прежде чем приложение обычно отображает список значений из базы данных Oracle.

Я запустил трассировку стека, чтобы найти следующую ошибку. Похоже, что приложение не находит клиента доступа к данным Oracle (Oracle.ManagedDataAccessDTC):

[Microsoft.LightSwitch.DataService][Application:Error]
[LightSwitchServiceApplication.P167:CON_APP_TAXes] An exception has occurred:  
Microsoft.LightSwitch.DataServiceOperationException: The underlying provider 
failed on EnlistTransaction. ---> System.Data.EntityException: The underlying 
provider failed on EnlistTransaction. ---> 
System.TypeInitializationException: The type initializer for 
'OracleInternal.MTS.DTCPSPEManager' threw an exception. ---> 
System.IO.FileNotFoundException: Could not load file or assembly 
'Oracle.ManagedDataAccessDTC, Version=4.121.2.0, Culture=neutral, 
PublicKeyToken=89b483f429c47342' or one of its dependencies. The system 
cannot find the file specified.

Я установил клиент Oracle Data Access на свой компьютер локально с помощью установщика ODAC 12c Release 4(12.1.0.2), который включает Oracle.ManagedDataAccessDTC.

Я проверил, что на моей машине и сервере установлена ​​одинаковая версия Oracle.ManagedDataAccessDTC.

1 ответ

Решение

Эта проблема была решена путем переключения моего типа драйвера источника данных с базы данных Oracle (ODP.NET, управляемый драйвер) на базу данных Oracle (ODP.NET, неуправляемый драйвер).

Другие вопросы по тегам