【发布时间】:2018-06-07 11:28:09
【问题描述】:
我想访问 localDB。 我在 sql server 中的连接字符串如下所示
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\aspnet-Tv3-20171226095229.mdf;Initial Catalog=aspnet-Tv3-20171226095229;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
而我的 mdf 文件在 app_data 中是这样的
public static DataSet GetDataSetFromStoredProc(string sql, Dictionary<string, dynamic> dictionary, string _ConnectionString)
{
try
{
using (SqlConnection connection2 = new SqlConnection(_ConnectionString))
{
SqlCommand cmd = new SqlCommand(sql, connection2);
cmd.CommandType = CommandType.StoredProcedure;
foreach (KeyValuePair<string, dynamic> pair in dictionary)
{
cmd.Parameters.AddWithValue(pair.Key, pair.Value);
}
SqlDataAdapter adp = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adp.Fill(ds);
return ds;
}
}
catch (SqlException err)
{
// Replace the error with something less specific.
// You could also log the error now.
throw new ApplicationException("Data error. " + err.Message.ToString());
}
}
public static DataTable GetDataTableFromStoredProc(string sql, Dictionary<string, dynamic> dictionary, string _ConnectionString)
{
DataSet ds = GetDataSetFromStoredProc(sql, dictionary,_ConnectionString);
if (ds.Tables.Count > 0)
return ds.Tables[0];
return null;
}
现在我正在执行如下函数:
GetDataTableFromStoredProc("down_data", dictionary, System.Configuration.ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString)
但我遇到了如下异常:
数据错误。发生与网络相关或特定于实例的错误 在建立与 SQL Server 的连接时。服务器没有 找到或无法访问。验证实例名称是否正确 并且 SQL Server 配置为允许远程连接。 (提供者:SQL 网络接口,错误:50 - 本地数据库运行时 错误发生。无法创建自动实例。见窗 错误详细信息的应用程序事件日志。 )
如何解决这个问题??
【问题讨论】:
-
.mdf文件是否添加到项目中?
-
@RomanSvitukha 是的
-
何时/何地你在运行这个?在 VS/Debug 或一些“生产”环境中。请参阅 SQL Server 2016 Express LocalDB reference,尤其是 permissions 和 user instance 主题。
标签: c# sql-server asp.net-mvc ado.net localdb