0

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

"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."

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

我在网上读过类似的问题,它似乎是数据库连接的问题?我尝试了多种“解决方案”,包括弄乱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. 我必须包括他们两个吗?如果是这样,怎么做?

4

3 回答 3

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。您的凭据很可能不正确。

于 2013-11-26T04:16:21.673 回答
0

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

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

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

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

于 2013-11-26T04:30:14.747 回答
-1

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

在此处输入图像描述

于 2016-03-02T03:33:11.870 回答