[英]Connection string ASP.NET LocalDB
目前,我无法连接服务器上的数据库,但在本地运行时可以正常工作。 我在控制器中使用此连接字符串:
@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='|DataDirectory|\Test.mdf';";
控制器代码:
namespace PathTest.Controllers
{
public class HomeController : Controller
{
string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename='|DataDirectory|\Test.mdf';";
public ActionResult Index()
{
DataTable daTbl = new DataTable();
using(SqlConnection sqlCon = new SqlConnection(connectionString))
{
sqlCon.Open();
SqlDataAdapter sqlDa = new SqlDataAdapter("SELECT * FROM Numbers", sqlCon);
sqlDa.Fill(daTbl);
}
return View(daTbl);
}
}
}
在服务器上运行时出错:
说明:执行当前Web请求期间发生未处理的异常。 请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。
异常详细信息: System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。 服务器未找到或无法访问。 验证实例名称正确,并且已将SQL Server配置为允许远程连接。 (提供者:SQL网络接口,错误:50-发生本地数据库运行时错误。指定的LocalDB实例名称无效。)
任何帮助,将不胜感激
首先,我相信您不想在生产服务器上运行localdb。 您应该在服务器上部署SQL Server实例(如果尚未部署),因此连接字符串应为:
"Server=[Server IP/Name];Database=MSSQLLocalDB;User Id=[Some User Created];Password=[Password of User Created];"
如果我错了,并且希望在服务器上使用localdb,则需要检查SQL Server Express服务是否正在运行。
如果是,请检查数据库文件是否存在,如果不存在,则可以使用工具sqllocaldb为Express实例创建本地数据库。
最后,您可以使用.config文件的配置管理器保留两个连接字符串(可以在Debug配置文件上使用本地数据库,在Release配置文件上使用服务器数据库)。
希望对您有帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.