ASP.net数据库连接到远程SQL服务器数据库不在'App_Data'

时间:2014-10-22 14:56:14

标签: asp.net connection server

ASP.NET世界的新手。我在'Web.config'(Visual Studio 2013)中的默认连接字符串最初连接到本地数据库:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-dbTest-20141022090046.mdf;Initial Catalog=aspnet-dbTest-20141022090046;Integrated Security=True" providerName="System.Data.SqlClient"/>

我一直在阅读有关远程服务器(SQL Express)的连接。我能够将默认连接字符串修改为以下内容:

<add name="DefaultConnection" connectionString="Data Source=MYSERVERNAME\SQLEXPRESS;
  Initial Catalog=myDatabase;
  Integrated Security=True;
  User ID=MYUSERNAMEISDIFFERENT;
  Password=MYUSERPASSWORDISDIFFERENT"
  providerName="System.Data.SqlClient"/>

内部表(非ASP.NET)不能作为要与之交互的对象,我不会将数据库视为“App_Data”文件夹中的资源。
这是正常的吗? 我应该包含“AttachDbFileName = | DataDirectory |”的内容吗? ?

我可以连接并登录(在构建ASP.Net表之后,我确实在数据库中的MS SQLServer Management Studio中看到了登录和新的'用户'帐户。

安迪

2 个答案:

答案 0 :(得分:1)

您想使用配置管理器访问连接字符串:

var connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

然后可以在数据库连接中使用它,例如:

var dt = new DataTable();
using (var con = new SqlConnection(connectionString))
{
    var command = new SqlCommand("SELECT * FROM table", con);

    con.Open();
    dt = command.ExecuteQuery();
}

'dt'将填充提供给SqlCommand对象的查询结果

还有其他方法可以连接,但通常这种方式最简单。

答案 1 :(得分:1)

Sam的答案为我工作......

然而,正如在任何事情中我发现知道正确的术语和/或单词使得过程变得更加容易。

我所经历的所有在线培训的方法是&#34; Code First&#34;例子。我试图获取我所学到的信息的方式是这样的。我想去&#34;数据库第一&#34;

此链接概述了我想要做的所有事情: http://www.asp.net/mvc/tutorials/mvc-5/database-first-development/creating-the-web-application

这就是我在SQLServerExpress中使用Visual Studio 2013和现有数据库(AdventureWorks 2012)。

再次感谢,我希望该链接可以帮助某人..

安迪