通过asp.net和c#连接到另一个网络上的SQL Server数据库

时间:2012-05-17 16:33:58

标签: c# asp.net sql-server

我有一个客户数据库,保存在我们本地网络上的SQL Server上。我想创建一个客户门户网站,它将在我们的网站上,通过另一家公司托管。我如何连接到该SQL Server数据库?

5 个答案:

答案 0 :(得分:3)

授予网站主机访问sql server的权限。假设Sql Server 2008;转到管理工作室,右键单击对象资源管理器窗口中的服务器(root),然后转到属性。您可以从那里管理权限。此外,它还会显示您在连接字符串中使用的“服务器”(类似[server]\SQLEXPRESS,可以在本地和远程使用)。

在网站中创建一个合适的connection string,最好是在web.config中,以用于所有与数据库的连接。然后,您可以通过

从数据层获取此连接字符串
ConfigurationManager.ConnectionStrings["ConnString_Name"].ConnectionString;

答案 1 :(得分:1)

除了正确的连接字符串之外,您还需要确保网站可以与SQL Server通信。如果您有防火墙,则需要配置端口(如果它们被阻止)。

另一种方法是创建一个托管在DMZ区域上的Web服务,该区域将在内部与您的SQL Server进行通信。该网站(由第三方托管)将通过此Web服务进行通信以获取数据(您可以设置身份验证,以便只有拥有权限的人才能使用此Web服务)。通过这条路线,你不会直接暴露你的内部SQL服务器。

答案 2 :(得分:0)

这个答案基于一些假设,因为问题没有提供所有必需的信息。

为此,您需要为连接对象设置ConnectionString属性。 例如

Data Source=yourIP;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

以下是MSDN链接connectionStrings

这是Web.Config中的SQLExpress连接字符串的示例

<connectionStrings>
   <add 
      name="LocalSqlServer" 
      connectionString="data source=.\SQLEXPRESS;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;" 
      providerName="System.Data.SqlClient"
   />
</connectionStrings>

答案 3 :(得分:0)

Code Project上有一个初学者指南,投票数为5,它将为您提供入门所需的一切。

但在开始使用代码之前,我建议您先测试与SQL Server管理工作室的连接。确保您可以连接并查询某些数据,否则您在尝试仅在第一次使用代码时可能会遇到更多混淆。

答案 4 :(得分:0)

要从C#.NET连接到SQL Server,您需要创建一个连接字符串,如下所示:

私有SqlConnection连接; private string connectionString = @“Server =(local); Database = Embedding_SQL_Test; User ID = sa; Password = 123”; connection = new SqlConnection(connectionString);

接下来,使用上面创建的SqlConnection对象创建一个'SqlCommand',如下所示:

SqlCommand cmd = new SqlCommand(“select * from Customer where CustomerID = @Cid”,connection);

此处显示的SQL查询可以替换为SELECT,INSERT,UPDATE查询等。

接下来,在数据库中执行SQL查询,使用以下方法:ExecuteReader - 执行SELECT查询ExecuteNonQuery - 执行INSERT,DELETE,UPDATE和SET语句。

这是如何从C#连接到SQL Server数据库并在数据库中执行SQL查询的简短描述。有关连接字符串,方法及其参数的详细信息,请检查以下链接:(http://www.shahriarnk.com/Shahriar-N-K-Research-Embedding-SQL-in-C-Sharp-Java.html)此处,您还可以找到有关如何将参数传递给SQL查询以及调用存储过程等的详细信息。 / p>