MVC 5 SQL Network Interfaces, error: 26 - Error, with [Authorize]
MVC 5 SQL Network Interfaces, error: 26 - Error, with [Authorize]
我在 MVC 5 中设置授权时遇到问题。我有一个带有个人用户帐户的全新 MVC 5 网站和一个带有五个 aspNet... 表的 SQL 服务器数据库。
我可以在本地登录,在我的本地服务器上一切正常,当我将本地连接字符串指向生产服务器但我无法从网站登录时,我什至可以从本地网站登录生产数据库在生产服务器上,
我收到以下错误:
建立与 SQL 服务器的连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:SQL 网络接口,错误:26 - 定位 Server/Instance 指定错误)
仅当我在必须登录的操作上使用 [授权] 时才会发生错误,如果我删除 [授权] 操作和数据库工作正常。
任何想法
编辑
为清楚起见,SQL 服务器在其中一台 Arvixe 服务器上,网站在 Godaddy,这是我的连接字符串
<add name="mysiteEntities"
connectionString="metadata =
res://*/Models.mysite.csdl|res://*/Models.mysite.ssdl|res://*/Models.mysite.msl;
provider = System.Data.SqlClient;
provider connection string ='
data source = xxxxx.arvixe.com;
Initial Catalog = mysite;
User ID = xxxxxx;
Password = xxxxxxx'"
providerName="System.Data.EntityClient" />
我无法使用此字符串从 Godaddy 登录,但如果我在本地计算机上使用此字符串,我可以登录。
我也有许多网站在 MVC 4 中设置了相同的配置,运行良好。
我遇到了类似的问题;但是,我错误地认为我没有使用 EF 和 SQL 服务器,而是使用 Oracle 11g 周围的 Telerik 数据访问。根据本文 (http://blog.luppes.com/2013/12/08/mvc5-authentication-roles-failure/)
,为我修复的是删除配置文件中的 RoleManager 模块
因此,为了子孙后代 link 解释一下,它是:
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
我解决了这个问题,但它让我想到了一个新问题,我挥手解决了这个问题。对于这个问题,我在这里引用了错误的基础连接。
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
现在的问题是我需要两个连接字符串来连接。一个用于授权,因为 MVC5 需要 Code First 连接字符串,但我的其余代码是 Database First
我在 MVC 5 中设置授权时遇到问题。我有一个带有个人用户帐户的全新 MVC 5 网站和一个带有五个 aspNet... 表的 SQL 服务器数据库。
我可以在本地登录,在我的本地服务器上一切正常,当我将本地连接字符串指向生产服务器但我无法从网站登录时,我什至可以从本地网站登录生产数据库在生产服务器上,
我收到以下错误:
建立与 SQL 服务器的连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确并且 SQL 服务器配置为允许远程连接。 (提供商:SQL 网络接口,错误:26 - 定位 Server/Instance 指定错误)
仅当我在必须登录的操作上使用 [授权] 时才会发生错误,如果我删除 [授权] 操作和数据库工作正常。
任何想法
编辑
为清楚起见,SQL 服务器在其中一台 Arvixe 服务器上,网站在 Godaddy,这是我的连接字符串
<add name="mysiteEntities"
connectionString="metadata =
res://*/Models.mysite.csdl|res://*/Models.mysite.ssdl|res://*/Models.mysite.msl;
provider = System.Data.SqlClient;
provider connection string ='
data source = xxxxx.arvixe.com;
Initial Catalog = mysite;
User ID = xxxxxx;
Password = xxxxxxx'"
providerName="System.Data.EntityClient" />
我无法使用此字符串从 Godaddy 登录,但如果我在本地计算机上使用此字符串,我可以登录。
我也有许多网站在 MVC 4 中设置了相同的配置,运行良好。
我遇到了类似的问题;但是,我错误地认为我没有使用 EF 和 SQL 服务器,而是使用 Oracle 11g 周围的 Telerik 数据访问。根据本文 (http://blog.luppes.com/2013/12/08/mvc5-authentication-roles-failure/)
,为我修复的是删除配置文件中的 RoleManager 模块因此,为了子孙后代 link 解释一下,它是:
<system.webServer>
<modules>
<remove name="RoleManager" />
</modules>
</system.webServer>
我解决了这个问题,但它让我想到了一个新问题,我挥手解决了这个问题。对于这个问题,我在这里引用了错误的基础连接。
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
现在的问题是我需要两个连接字符串来连接。一个用于授权,因为 MVC5 需要 Code First 连接字符串,但我的其余代码是 Database First