繁体   English   中英

用ASP.net找不到连接字符串

[英]Connection string not found with ASP.net

我正在尝试将我的本地SQL数据库连接到ASP.Net项目,但是我没有尝试的任何方法。 该数据库名为CinemaDatabase,使用Windows身份验证。

在web.config我有

   <connectionStrings>
    <add name="myDatabase" connectionString="Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=cinemaDatabase;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

然后在cshtml页面中

@using WebMatrix.Data;

@{
    var db = Database.Open("myDatabase");
 }

我不断收到这个错误

InvalidOperationException:找不到连接字符串“ myDatabase”。 OpenNamedConnection

我在这里做错了什么? 提前致谢。

编辑-要正常工作,必须制作一台普通的SQL服务器而不是本地的MSSQLLocalDB服务器,然后将web.config中的数据源更改为该服务器。

然后在我的页面上使用此代码,它现在可以连接。

@using WebMatrix.Data; 
@using System.Data.SqlClient; 

@{ 

    var connectionString = "Data Source=DESKTOP-58NGNQP;Initial Catalog=webDev;Integrated Security=True";
    var providerName = "System.Data.SqlClient";
    var db = Database.OpenConnectionString(connectionString, providerName);
}

我相信问题出在您的连接字符串上。 不幸的是,目前我还没有一个带有附加的.mdf文件的正在运行的示例,但是我相信类似的事情将为您完成工作,我从MSDN的有关连接字符串的文章中获取了此字符串。

<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />

这里有几个重要事实:

  1. Data Source=(LocalDB)\\v11.0这指定要使用的按需启动localdb实例。 请注意,此字符串中的v11.0版本因安装而异,因此您应该为字符串找到正确的版本。 (您应该可以在下面找到它更容易)
  2. AttachDbFilename=|DataDirectory|\\DatabaseFilename.mdf这告诉LocalDb加载该数据库文件。 或者,localdb将数据库文件保留在用户主目录或AppData目录中的某个位置。
  3. Integrated Security=true连接字符串需要身份验证方案。 集成安全性是两个可能的选项,它使用Windows凭据来尝试访问数据库,这在许多方面都可以很好地工作,LocalDb就是其中之一。 另一个选择是使用sql身份验证以及sql名称和密码进行连接。

暂无
暂无

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

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