[Entity Framework and Application Intent parameter

问题描述 投票:0回答:1

我有一个存储的proc,它使用同义词从另一个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" />

它引发此错误:

链接服务器“ MYSERVER.CORP.COMPANY.COM”的OLE DB提供程序“ SQLNCLI11”不包含表“ otherserver”。“ dbo”。“ mysynonym”“。该表不存在或当前不存在用户对该表没有权限。

当我在ADO.NET中尝试它时,会引发此错误:

过程usp_get_Data没有提供参数和参数。

这里是同义词:

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

仅当我添加applicationintent = readonly时问题才开始。当不涉及任何参数时,此附加参数可以正常工作。

关于导致这种情况的任何想法?我在论坛上什么都没看到]

谢谢

卡尔

sql sql-server entity-framework connection-string synonym
1个回答
0
投票

从我们的DBA:

我正在主服务器上的链接服务器上工作,但没有意识到当您仅读取到辅助服务器的路由时,您必须检查辅助服务器链接服务器,而在DMS主服务器上的辅助服务器中,它们使用的服务器没有读取权限,同义词引用的数据库

我已授予它读取权限,仅此而已

© www.soinside.com 2019 - 2024. All rights reserved.