1

我正在尝试自学 .Net MVC 3,并且正在学习本教程:http ://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/intro-to-aspnet- mvc-3并且已经到了为之前创建的模型创建控制器的步骤(http://www.asp.net/mvc/tutorials/getting-started-with-aspnet-mvc3/cs/accessing-your-模型的数据来自控制器)。

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

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

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

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

有任何想法吗?

4

5 回答 5

1

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

于 2013-03-04T19:18:16.213 回答
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; }
)
于 2012-12-15T10:31:23.600 回答
0

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

Web.config 中用于使用附加 .mdf 数据库的 DB 连接字符串将不起作用

“如果您将 *.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>

我也使用了教程,但我有数据库文件 *.mdf,而不是教程 *.sdf。

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

于 2013-08-12T13:13:08.850 回答
-1

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

于 2012-07-19T09:15:33.703 回答
-1

我在这里找到了答案:

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

于 2016-06-15T20:05:35.847 回答