'System.Data.EntityException'的第一次机会异常。底层提供程序在Open上失败

时间:2013-11-26 04:02:20

标签: c# sql database connection-string first-chance-exception

我已经获得了一个由其他人创建的网站,我现在正在尝试测试它。我可以毫无问题地编译系统,但是当我尝试登录网站时,我收到错误:

"EntityException occured. A first chance exception of type 'System.Data.EntityException' occured in System.Data.Entity.dll. Additional info: The underlying provider failed on Open."

此外,如果我深入挖掘,我会看到Cannot open database \"MyDB\" requested by the login. The login failed. Login failed for user 'name\\owner'.

的InnerException

我在网上看过类似的问题,这似乎是数据库连接的问题?我尝试了多种“解决方案”,其中包括使用connectionString,但没有任何作用。

我认为系统想要做的是连接到位于单独项目的App_Data中的.mdf。无论如何,这是我最初收到的connectionString代码:

add name="NameServiceContext"
connectionString="Server=tcp:qiu5vg5yhv.database.windows.net,1433;Database=MyDB;User ID=MYID;Password=MYPASS;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"
providerName="System.Data.SqlClient"

快问,什么是tcp:......东西?我假设它是以某种方式生成的,但是怎么样?

我试过'修复'这个问题并最终得到这样的结果:

add name="NameServiceContext" 
connectionString="data source=./SQLEXPRESS;AttachDbFilename=C:\Users\owner\Documents\MyERP\App_Data\MyDB.mdf;Integrated Security=True;Connect Timeout=30;" 
providerName="System.Data.SqlClient"

这两种方法都会出现同样的错误,而且我的想法都不合适。我该如何解决这个问题?

此外,当我通过工具连接到数据库>连接到数据库> MS SQL db文件,我在2个数据源./SQLEXPRESS(LocalDB)\v11.0之间获得了一个选项。我必须包括它们吗?如果是这样,怎么样?

3 个答案:

答案 0 :(得分:0)

原始连接字符串是指Microsoft Azure实例。 Azure的典型连接字符串如下所示:

Server=tcp:[serverName].database.windows.net;Database=myDataBase;User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;Encrypt=True;

您的服务器名称为qiu5vg5yhv.database.windows.net。很可能你的凭据不正确。

答案 1 :(得分:0)

正如安德鲁所说,你似乎无法访问实际的数据库。只需下载“SQL Server Management Studio”或“SQL Server Management Studio Express”(取决于您使用的数据库版本)并尝试连接。

如果连接成功,请检查是否可以查询项目的数据库。 如果连接失败,请与系统管理员联系以安排访问。

如果您想了解有关connectionstring的更多信息或创建一个,请使用以下网站作为模板:http://www.connectionstrings.com/sql-server/

您可以通过“SQL Server Management Studio”查看数据库的属性来获取必要的数据库详细信息(右键单击并选择“属性” - >“查看连接属性”)

答案 2 :(得分:-1)

我遇到了同样的问题。关键的一步是在这里。 我使用vs 2013更新4。 当您在azure中配置SQL时,它会生成一个连接字符串。

enter image description here