[英]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" />
这里有几个重要事实:
Data Source=(LocalDB)\\v11.0
这指定要使用的按需启动localdb实例。 请注意,此字符串中的v11.0版本因安装而异,因此您应该为字符串找到正确的版本。 (您应该可以在下面找到它更容易) AttachDbFilename=|DataDirectory|\\DatabaseFilename.mdf
这告诉LocalDb加载该数据库文件。 或者,localdb将数据库文件保留在用户主目录或AppData目录中的某个位置。 Integrated Security=true
连接字符串需要身份验证方案。 集成安全性是两个可能的选项,它使用Windows凭据来尝试访问数据库,这在许多方面都可以很好地工作,LocalDb就是其中之一。 另一个选择是使用sql身份验证以及sql名称和密码进行连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.