3

我在godaddy 上购买了一个Windows 共享主机帐户,它带有2 个MSSQL 数据库。我设置了一个来保存我的站点数据,另一个安装了 aspnet 成员模式来存储站点成员。即使显示来自第一个数据库的数据,该站点也能完美运行。但是,当我尝试登录或注册时,我收到了这个讨厌的错误

异常详细信息:System.Configuration.Provider.ProviderException:SSE 提供程序未找到连接字符串中指定的数据库文件。在配置的信任级别(低于高信任级别),SSE 提供程序无法自动创建数据库文件。

我已经完成了我web.config的,我的 2 个连接字符串没有任何问题。当 1 个用于成员资格时,godaddy 似乎同时使用 2 个 mssql 数据库存在问题。

有谁知道解决方案或解决方法?

4

2 回答 2

11

我希望我的经历对每个人都有好处。基本上,如果你想避免 godaddy 上的 aspnet 成员资格问题,请始终使用“LocalSqlServer”作为连接字符串。IE

<providers>
    <remove name="AspNetSqlMembershipProvider" />
    <add name="AspNetSqlMembershipProvider" connectionStringName="LocalSqlServer"
        ..other attributes here... />
</providers>

然后创建“LocalSqlServer”连接字符串...记得先删除它

<connectionStrings>
    <remove name="LocalSqlServer"/>
    <add name="LocalSqlServer"
        connectionString="Data Source=xxxx; Initial Catalog=xxx; User ID=xxx; Password=xxx;"
        providerName="System.Data.SqlClient" />
</connectionStrings>
于 2009-11-17T23:50:56.730 回答
1

我遇到了同样的问题,正在使用 MVC3。上述解决方案有效,但在 MVC3 中有一些其他更改。我花了很长时间才弄清楚,所以如果有人在 MVC3 中有类似的问题,它可能会对他们有所帮助:

在 web.config 中搜索“connectionStringName”并将名称替换为connectionStringName="LocalSqlServer"

同样在连接字符串下确保

- 添加(因为这对所有使用共享主机的人都很重要,它将用你的替换 machine.config LocalSqlServer 连接字符串。) - 保留你当前的连接字符串(在我的情况下是 FilmiDb,这是你连接到数据库所必需的在 EF 模型中。没有这个你会得到错误。)

<connectionStrings>
    <remove name ="LocalSqlServer"/>
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLExpress;Initial Catalog=SofilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
    <add name="FilmiDb" connectionString="Data Source=.\SQLExpress;Initial Catalog=FilmiDb;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
  </connectionStrings>
于 2012-09-17T04:17:00.490 回答