Entity Framework и параметр Application Intent - PullRequest
0 голосов
/ 28 мая 2020

У меня есть сохраненная версия pro c, которая использует синоним для извлечения данных из другой SQL базы данных Server 2016.

Это строка подключения, которую использует EF:

<add name="ConnectionString_CSAdminEF_RO" connectionString="Data Source=myserver;initial catalog=csadmin;user=tcrpAdminTool;password=XXXX;applicationintent=readonly" providerName="System.Data.SqlClient" />

Выдает следующую ошибку:

Поставщик OLE DB «SQLNCLI11» для связанного сервера «MYSERVER.CORP.COMPANY.COM» не содержит таблицу «otherserver». «Dbo». «Mysynonym "". Таблица либо не существует, либо текущий пользователь не имеет разрешений для этой таблицы.

Когда я пробую ее в ADO. NET, выдается следующая ошибка:

Процедура usp_get_Data не имеет параметров, и аргументы были предоставлены.

Вот синоним:

CREATE SYNONYM [dbo].[mysynonym] FOR [OTHERSERVER.CORP.COMPANY.COM].[mydb].[dbo].[eDocsEntity]

Проблема началась только тогда, когда я добавил applicationintent = readonly. Это дополнительное Параметр работает нормально, если не задействован никакой параметр.

Есть идеи относительно того, что может быть причиной этого? Я ничего не видел на форумах по этому поводу

Спасибо

Карл

1 Ответ

0 голосов
/ 01 июня 2020

От нашего администратора базы данных:

Я работал на связанном сервере на первичном, не понимая, что когда вы читаете только маршрут к вторичному серверу, вам нужно проверить вторичный сервер, связанный с сервером, а на вторичном сервере, который является первичным DMS, они используют сервер, у которого не было прав на чтение базы данных, на которую ссылается синоним

Я дал ему права на чтение, и все

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...