Задать вопрос

Как заставить Entity Framework работать с данной процедурой?

Есть некоторая процедура ItemExists(itemProperty), которая, проверяет, есть ли запись со значением itemProperty в выборке. Выборка берется из двух таблиц с двух разных серверов (при участии openquery). При вызове процедуры напрямую в SSMS она срабатывает без ошибок. Но когда ее вызывает EntityFramework она падает с двумя ошибками:
The operation could not be performed because OLE DB provider "MSDASQL" for linked server "SERVER_B" was unable to begin a distributed transaction.
OLE DB provider "MSDASQL" for linked server "SERVER_B" returned message "[Pervasive][ODBC Client Interface][LNA][Pervasive][ODBC Engine Interface]Driver not capable.".

В процедуре выполняются только select-запросы.
Часть с openquery выглядит так:
select * from openquery (SERVER_A, 'select * from openquery(SERVER_B, ''select prop from table_b where Date > ''''2018-01-01'''''')'))
  • Вопрос задан
  • 93 просмотра
Подписаться 2 Средний Комментировать
Помогут разобраться в теме Все курсы
  • OTUS
    MS SQL Server Developer
    5 месяцев
    Далее
  • Merion Academy
    Основы реляционных баз данных SQL
    1 месяц
    Далее
  • OTUS
    SQL для разработчиков и аналитиков
    3 месяца
    Далее
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
Driver not capable - собственно вот вся причина.

подозреваю что ровно такая же ошибка будет даже при попытке выполнить запрос "select 'Hello, World!'" или "select @@version"
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы