ASP.NET中无法连接MDF数据库的问题及替代连接方法咨询
连接MDF数据库的替代方法(Visual Studio 2012)
你当前使用的是ASP.NET Web Pages的Database.Open()快捷方法,若该方式报错,可尝试以下更直接的连接方案:
方法一:使用SqlConnection手动构建连接
这种方式能精准控制连接流程,便于排查问题:
@{ // 构建连接字符串,适配Visual Studio 2012的LocalDB版本 string connectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\sisgar.mdf;Integrated Security=True"; using (System.Data.SqlClient.SqlConnection conn = new System.Data.SqlClient.SqlConnection(connectionString)) { conn.Open(); string query = "SELECT * FROM tb_porteiro"; System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand(query, conn); System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader(); <table> while (reader.Read()) { <tr> <td>@reader["idp"]</td> <td>@reader["porteiro"]</td> </tr> } </table> reader.Close(); } }
注意事项:
(LocalDB)\v11.0是Visual Studio 2012对应的LocalDB版本,需确保本地已安装该组件|DataDirectory|指向网站的App_Data目录,确认sisgar.mdf确实放置在此路径下- 确保项目已引用
System.Data程序集
方法二:修正Web.config连接字符串(适配原Database.Open()方法)
若想继续使用原有代码,需先确认Web.config中的连接字符串配置正确:
在Web.config的<configuration>节点下添加或修改:
<connectionStrings> <add name="sisgar" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\sisgar.mdf;Integrated Security=True" providerName="System.Data.SqlClient" /> </connectionStrings>
配置完成后重新运行原代码,验证连接是否正常。
方法三:通过服务器资源管理器生成正确连接
- 打开Visual Studio 2012的服务器资源管理器
- 右键点击数据连接 → 添加连接
- 选择
Microsoft SQL Server LocalDB,浏览选中sisgar.mdf文件 - 测试连接成功后,复制生成的连接字符串,替换到代码或Web.config中
内容的提问来源于stack exchange,提问作者alejandro carnero
相关产品推荐
相关产品推荐

