使用VS2008连接到SQL Server数据库

时间:2009-07-15 14:52:03

标签: asp.net sql-server visual-studio-2008

我正在使用VS2008,通常我会从App_Data文件夹开发我的网站,然后将整个网站上传到服务器。

现在我有一个站点并且SQL DB已在服务器上运行(不在App_Data文件夹中,我使用SQL Studio Mgement连接到它并进行编辑),所以改为对本地数据库进行更改然后再次到服务器上的那个。我可以使用Visual Studio 2008将实时连接到服务器上的数据库吗?那么我至少可以看到实时数据,并在需要时立即进行更改?

有关如何设置此内容的任何教程非常感谢

(我意识到这可能不是一个理想的情况,但它是一个个人项目,只有我在研究它)

6 个答案:

答案 0 :(得分:2)

在Server Explorer中,单击“连接到数据库”按钮:

alt text

将出现以下对话框。填写服务器名称,凭据,然后选择要连接的数据库。按下底部的“测试连接”按钮测试连接:

alt text

这将添加新数据库,您可以使用表格等。

alt text

答案 1 :(得分:0)

为什么不从SQL管理工作室实时访问?

答案 2 :(得分:0)

您可以使用适当的连接字符串连接到远程服务器。

这包含在您的web.config文件中:

...
<configuration>
  ...
  <connectionStrings>
    <add name="MyConnectionString" connectionString="Data Source=SERVERNAME;Initial Catalog=MyDatabase;Integrated Security=True"
     providerName="System.Data.SqlClient" />
  </connectionStrings>
  ...
</configuration>
...

然后,从您的代码中,您可以从web.config文件中检索连接字符串:

string myConnectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString;

并使用SqlConnection类连接到数据库:

using (SqlConnection connection = new SqlConnection())
{
    connection.ConnectionString = myConnectionString;
    connection.Open();
    // use the connection ...
}

您可以在连接字符串中指定几个选项来指定凭据和其他属性。有关您可以设置的各种属性的表格,请参阅SqlConnection.ConnectionString documentation

请注意:您使用的是实时数据库,并且您不想破坏它!一个好主意是获取实时数据库的副本并在SQL Server的本地实例(甚至是SQL Server Express Edition)中运行它。

答案 3 :(得分:0)

您显然想要连接到不在Web项目的默认目录中的ASPNETDB,所以......

我找到了一种很好的方法,可以将Visual Studio 2008中ASPNETDB数据库的位置移动到机器级别的其他位置。您可以通过编辑webapp.config覆盖此设置,但我认为在大多数情况下更复杂,更不必要。

默认情况下,新的Web项目会将您的应用程序数据库放在App_Data文件夹中,并允许您使用基于文件的SQL。我不喜欢将我的应用程序核心数据库从公共可访问站点的根目录中删除,因此我更喜欢应用程序以通常的方式连接到SQL Server服务。

您可以设置您的开发项目以反映您部署到的实际站点。要实现此目的,只需对Visual Studio 2008执行以下操作:

一个。卸载所有以前存在的Microsoft SQL Server实例,包括SQL 2005和任何精简版或紧凑版。这需要重新启动系统。注意:通过使用SSMSE分离任何数据库,然后将mdf和ldf文件保存在安全的地方,备份所有数据库。如果您运行的是x64 Vista,则可以删除x86 Program Files目录中的SQL Server目录。

B中。重新启动并安装SQL Server 2008.安装后,为该服务启用“命名管道”和“TCP”侦听器协议。此外,启用“sa”帐户并设置“sa”帐户的密码。另外,更改SQL Server实例以使用“混合模式身份验证”。

℃。编辑C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ machine.config,以便在连接字符串部分中显示:

ADD name =“LocalSqlServer”providerName =“System.Data.SqlClient”connectionString =“data source = LOCAL \ SQLEXPRESS; Integrated Security = SSPI; database = aspnetdb”

d。找到aspnet_regsql.exe并运行它以创建aspnetdb数据库。当它要求输入数据库名称时,选择“default”并创建一个名为“aspnetdb”的数据库。

电子。通过使用非集成安全性,无需调试环境即可通过IIS使应用程序可用。您需要“启用”禁用的“sa”帐户,使“sa”成为aspnetdb数据库的所有者,然后确保您的SQL Server启用了“SQL Server身份验证模式”。最后,将此部分添加到webapp.config文件中:

ADD name =“LocalSqlServer”providerName =“System.Data.SqlClient”connectionString =“Server = LOCAL \ SQLEXPRESS; Database = aspnetdb; User Id = sa; Password = password; Trusted_Connection = False”

答案 4 :(得分:0)

这种设置可能存在一些问题,具体取决于SQL Server安全性的设置方式。您可以进入双跳网络问题进行授权。如果SQL Server仅设置为集成Windows身份验证,那么我们遇到了一些困难。用户将对Web服务器进行身份验证,但由于SQL Server位于不同的计算机上,因此发送给它的凭据将是Web服务器凭据,而不是由于安全权限而导致对SQL Server的任何调用失败的用户。某些设置需要在Active Directory中进行调整,以允许Web服务器获得授权授权,并且还需要在网络上设置Kerberos安全性。您的情况可能会有所不同,但需要注意的事项。

答案 5 :(得分:-1)

在VS2008菜单中,单击工具 - &gt;点击“连接到数据库...” - &gt;在“添加连接”对话框中输入正确的SQL凭据 - &gt;在Server Explorer窗格上查看DB连接。