“提供程序未返回ProviderManifestToken字符串”

时间:2012-07-18 16:03:32

标签: asp.net-mvc-3 sql-server-2008

我正在尝试自学.Net MVC 3,并且遵循本教程:http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet-mvc-3并且已经到达了为之前创建的模型创建控制器的步骤(http://www.asp达网络/ MVC /教程/工具入门与 - ASPNET-MVC3 / CS /访问-您-model's-数据从-A-控制器)。

当我尝试创建控制器时,我得到“提供程序未返回ProviderManifestToken字符串”错误。一些谷歌搜索让我相信这是由于我的连接字符串错误。

问题是我没有在本地运行SQL Server,所以我无法复制示例connectionString。这就是我现在所拥有的:

connectionString="Data Source=1.2.3.4\MSSQLSERVER;Initial Catalog=myDBname;Integrated Security=False;User ID=myUsername;Password=myPassword"

我已尝试使用SSMS使用用户名和密码登录数据库,并且它可以正常工作,因此问题不在于用户本身。

有什么想法吗?

5 个答案:

答案 0 :(得分:1)

如果您使用的是SQL Azure,则如果Azure数据库防火墙未设置为允许您的IP地址,则可能会导致此错误。确保检查以确保您正在授权IP地址。此错误并不一定会指向您。

答案 1 :(得分:0)

我有同样的问题并通过以下方法解决了。 只需检查数据库实例的对象名称,它可能类似于:

 private Model_ db = new Model_();

如果是,请将其替换为MovieDBContext,如:

 private MovieDBContext db = new MovieDBContext(); 

(或者在Model / Movies.cs中设置类名称,如

public class MovieDBContext : DbContext
{ 
     public DbSet < Movie> Movies { get; set; }
)

答案 2 :(得分:0)

在我遇到这个答案之前我遇到了同样的问题

DB Connection string in Web.config to use attached .mdf database won't work

“如果您将* .mdf放在App_Data文件夹中,使用此格式可以:”

<connectionStrings>
  <add name="ConnectionName"
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True"
    providerName="System.Data.SqlClient" />
</connectionStrings>

我也使用了本教程,但是除了教程* .sdf之外我有数据库文件* .mdf。

也许这个解决方案会有所帮助。

答案 3 :(得分:-1)

我明白了:事实证明在我的情况下不需要“\ MSSQLSERVER”。我不确定是不是因为我是通过IP连接,还是特定于我的服务器设置,但是删除它解决了这个问题。

答案 4 :(得分:-1)

我找到了答案here

  

“ASP.NET MVC3应用程序中有两个web.config文件。一个是   在应该放置连接字符串的根目录中,另一个是   在Views文件夹下,不应放置连接。猜测   我有联系的地方!“