【发布时间】:2018-06-26 20:33:14
【问题描述】:
我目前有一个问题,我无法在我的服务器上连接数据库,但在本地运行时它工作正常。我在控制器中使用这个连接字符串:
@"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 不存在,即使在此之后,您也需要向 IIS 工作进程授予使用该数据库文件的权限。
-
为什么不将数据库加载到服务器并连接到它,而不是总是像这样附加它?我认为您应该找到一些在 mvc 应用程序中使用数据库的更好示例。
标签: c# sql sql-server asp.net-mvc connection-string