繁体   English   中英

mdf文件的ASP.NET connectionString不起作用

[英]ASP.NET connectionString for mdf file not working

我正在使用Visual Studio2017。我刚刚在项目中创建了一个全新的mdf文件(右键单击App Data-> Add New Item-> SQL Server Database),并将其命名为TestDatabase.mdf

现在,我尝试通过连接字符串连接到它:

<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />

接下来,我创建了一个模型,然后创建了一个EntityFramework控制器,但是现在当我进入控制器索引方法时,出现以下错误:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26-指定服务器/实例时出错)

我究竟做错了什么?

确保您在App_Data文件夹中可以找到testDatabase.mdf。

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

您编写的此连接字符串不正确。

<add name="TestConnection" connectionString="Server=.\SQLExpress;AttachDbFilename=|DataDirectory|TestDatabase.mdf;Database=TestDatabase; Trusted_Connection=Yes;" providerName="System.Data.SqlClient" />

我假设您在系统中安装了SQL Express。 这将提供要在您的计算机上运行的SQL的本地实例。

正如您所说的那样使用Visual Studio 2017,您可以按照以下步骤获取正确的连接字符串

  1. 打开服务器资源管理器
  2. 右键单击数据库,然后单击属性
  3. 将打开一个属性窗口,复制ConnectionString并确保它看起来像这样:

    <add name="YourDbName" connectionString="Data Source=YourComputerName\\SQLEXPRESS;Initial Catalog=YourDbName;Integrated Security=True" />

现在谈论这个:

建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:26-指定服务器/实例时出错)

您收到此错误,是因为它没有获得实例名称以连接到数据库。 在我的示例中,SQLEXPRESS用作实例名称。 如果您没有SQLEXPRESS,则可以从此处下载它: https : //www.microsoft.com/zh-cn/sql-server/sql-server-editions-express您可以按照提示进行操作,并将此软件包安装在您的计算机中系统。

安装此组件后,您的实例将被激活。 再次连接您的Db。我确定它可以正常工作。

万一再次出现此错误,您可以按照以下步骤操作:

  1. 按Windows + R,然后键入services.msc,然后按OK。
  2. 从给定的列表中搜索SqlServer(SQLEXPRESS) ,然后单击启动服务 这将再次激活您的实例,数据库现在可以连接到您的应用程序了。

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM