EF Core: использование Linked Server для базы данных Oracle - PullRequest
0 голосов
/ 23 февраля 2019

В другой вопрос , мне нужно использовать ASPNET BoilerPlate (шаблон EF Core) с базой данных Oracle, но он пока не поддерживает.Поэтому я попытался использовать SQL Server со связанным сервером с базой данных Oracle.

Что я пробовал:

  • Создать связанный сервер с именем «LinkedOracle» из SqlServer в базу данных Oracle
  • Создайте базу данных SqlServer с именем «FakeOracleDb» и создайте представления для таблиц LinkedOracle с помощью:

    СОЗДАНИЕ ПРОСМОТРА КЛИЕНТА КАК ВЫБРАТЬ * ИЗ LinkedOracle..MYUSER.CUSTOMER

  • Теперь у меня есть поддельная база данных SQL Server, сопоставленная с моей базой данных Oracle (1 представление = 1 таблица в Oracle).Я также могу выбрать, обновить, .. в этом представлении.Моя сущность «Клиент» сопоставлена ​​с этим представлением

  • Измените строку подключения на FakeOracleDb, данные загружаются нормально, но когда я попытался обновить значение, я столкнулся с ошибкой, как показано ниже:

Не удалось запустить транзакцию для поставщика OLE DB "OraOLEDB.Oracle" для связанного сервера "LinkedOracle"

Может кто-нибудь дать мне какой-нибудь совет, пожалуйста

Обновление 1:

Я попытался открыть транзакцию и запустить оператор обновления в SSMS.Это сработало после того, как я запустил SET XACT_ABORT ON, так как я могу установить это значение в EF?

...