【问题标题】:Connect to a SQL Server database on another network via asp.net and c#通过 asp.net 和 c# 连接到另一个网络上的 SQL Server 数据库
【发布时间】:2012-05-23 10:56:54
【问题描述】:

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

【问题讨论】:

    标签: c# asp.net sql-server


    【解决方案1】:

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

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

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

    【讨论】:

    • 就这么简单吗?连接字符串是否与我在本地访问时使用的相同?如何授予我的网站主机访问权限?我是在 sql server 中做的,还是在我的主机上做的?
    • 取决于您是否在 conn 中使用 localhost。细绳。检查我的更新。
    【解决方案2】:

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

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

    【讨论】:

    • 我喜欢这条路线。我对创建 Web 服务并不熟悉。我会找一些教程。你知道有什么好的可以指导我吗?
    【解决方案3】:

    此答案基于一些假设,因为问题并未提供所有必需的信息。

    为此,您需要为您的连接对象设置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>
    

    【讨论】:

      【解决方案4】:

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

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

      【讨论】:

        【解决方案5】:

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

        私有 SqlConnection 连接;私有字符串 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 查询以及调用存储过程等详细信息。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-08-05
          • 1970-01-01
          相关资源
          最近更新 更多