【问题标题】:Setting up connection string in ASP.NET to SQL SERVER在 ASP.NET 中设置连接字符串到 SQL SERVER
【发布时间】:2011-04-12 22:42:22
【问题描述】:

我正在尝试在我的 web.config 文件 (Visual Studio 2008/ASP.NET 3.5) 中设置一个连接到本地服务器 (SQL server 2008) 的字符串。

在我的 web.config 中,如何以及在何处放置连接字符串?

这是 web.config 文件现在的样子:http://imwired.net/aspnet/Online_web.config

【问题讨论】:

    标签: asp.net web-config connection connection-string


    【解决方案1】:

    你也可以用这个,更简单。您唯一需要设置的是“YourDataBaseName”。

      <connectionStrings>
        <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
      </connectionStrings>
    

    connection string 的放置位置

    <?xml version='1.0' encoding='utf-8'?>  
      <configuration>  
        <connectionStrings>  
          <clear />  
          <add name="Name"   
           providerName="System.Data.ProviderName"   
           connectionString="Valid Connection String;" />  
        </connectionStrings>  
      </configuration>  
    

    【讨论】:

    • 当我想执行一些查询时,如何在我的 C# 代码中使用它。
    • 可以从connectionstrings.com/sql-server-2008看到点网中连接字符串的详细信息
    • 我想知道有多少人复制并粘贴了那行... :-) 我想这是我第 30 次回答这个问题...也许我应该记住它.
    • 此版本缺少用户名/密码属性。
    • @Burgi 不,它没有错过(参见Integrated Security=True ?),它不需要,因为数据库通过他们的权限读取文件 - 试试看。这就是我说的更简单的原因,因为你不需要添加它们。如果您无法使用它,请打开您的数据库并在那里设置正确的权限,对数据库和文件
    【解决方案2】:

    由于某种原因,我在这里没有看到简单的答案。

    把它放在代码的顶部:

    using System.Web.Configuration;
    using System.Data.SqlClient; 
    

    把这个放到 Web.Config 中:

    <connectionStrings >
        <add
             name="myConnectionString" 
             connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
             providerName="System.Data.SqlClient"/>
    </connectionStrings>
    

    以及您要设置连接变量的位置:

    SqlConnection con = new SqlConnection(
        WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
    

    【讨论】:

    • WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString 在技术上可能更正确。
    • 我还需要:using System.Data.SqlClient;
    【解决方案3】:

    我发现这很难得到答案,但最终想通了。所以我会写下面的步骤。

    1. 在代码中设置连接字符串之前,请确保您确实可以访问您的数据库。显然,首先使用 SSMS(Sql Server Management Studio 或其他数据库中的等效工具)在本地登录数据库服务器,以确保您可以使用您打算使用的任何详细信息进行访问。

    2. 接下来(如果需要),如果您尝试访问单独服务器上的数据库,请确保您可以在 SSMS 中进行同样的操作。因此,在计算机上设置 SSMS 并确保您可以使用该数据库服务器的用户名和密码访问服务器。

    如果您没有正确理解上述 2 项,那么您只是在浪费时间,因为您无法访问数据库。这可能是因为您设置的用户错误、未启用远程访问(如果需要)或端口未打开(如果需要),还有许多其他原因,但这些是最常见的。

    一旦您确认可以使用 SSMS 访问数据库。下一步,只是为了使流程自动化并避免错误,就是让系统为您完成工作。

    1. 启动一个空项目,将您选择的 Linq 添加到 SQL 或 Dataset(EF 很好,但连接字符串嵌入在 EF con 字符串中,我想要一个干净的),然后使用详细信息连接到您的数据库上面在 con 字符串向导中验证。添加任何表格并保存文件。

    现在进入网络配置,神奇的是,您会在其中看到漂亮干净的工作连接字符串以及您需要的所有详细信息。


    { 以下是旧帖子的一部分,因此您可以忽略它,我将其留作参考,因为它是仅从后面的代码访问数据库的最基本方法。请向下滚动并从下面的步骤 2 继续。 }

    让我们假设上述步骤从后面代码中的连接字符串开始,如下所示:

    string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
    

    这一步非常重要。在执行以下步骤之前,请确保您具有上述格式的连接字符串。确保您实际上可以使用某种形式的 sql 命令文本访问您的数据,该文本以标签或文本框或其他方式显示表格中的一些数据,因为这是执行连接字符串的最简单方法。

    一旦您确定上述样式有效,现在就可以采取下一步措施了:

    1。 将您的字符串文字(引号中的内容,包括引号)导出到 web.config 文件的以下部分(对于多个连接字符串,只需执行多行:

    <configuration>
        <connectionStrings>
            <add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
            <add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
            <add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
        </connectionStrings>
    </configuration>
    

    { 以上是旧帖子的一部分,完成前 3 步后,整个过程将为您完成,因此您可以忽略它。我只是把它留在这里供我自己参考。 }


    2。 现在将以下代码行添加到后面的 C# 代码中,最好是在类定义下(即不在方法内)。这指向项目的根文件夹。本质上它是项目名称。这通常是 web.config 文件的位置(在这种情况下,我的项目称为 MyProject。

    static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
    

    3。 现在将下面这行代码添加到后面的 C# 代码中。这会设置一个字符串常量,如果您在不同的方法中需要一个 conString,您可以在代码中的许多地方引用该常量。

    const string CONSTRINGNAME = "conString";
    

    4。 接下来将下面这行代码添加到后面的 C# 代码中。这会从名为 conString 的 web.config 文件中获取连接字符串(来自上面的常量)

    ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
    

    5。 最后,你原本会有类似于这行代码的地方:

    SqlConnection con = new SqlConnection(conString)
    

    你将用这行代码替换它:

    SqlConnection con = new SqlConnection(conString.ConnectionString)
    

    完成这 5 个步骤后,您的代码应该可以像以前一样工作了。因此,您首先以原始格式测试 constring 的原因是您知道它是连接字符串的问题还是代码的问题。

    我是 C#、ASP.Net 和 Sql Server 的新手。所以我确信必须有更好的方法来执行此代码。 如果可能的话,我也会感谢有关如何改进这些步骤的反馈。我到处寻找类似的东西,但经过数周的努力,我最终弄明白了。自己看,我还是觉得,一定有更简单的方法。

    我希望这会有所帮助。

    【讨论】:

      【解决方案4】:

      它应该在&lt;configuration&gt; 节点内:

        <connectionStrings >
          <add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
        </connectionStrings>
      

      这个site 有更多信息:

      【讨论】:

      • 当我想在asp.net 4中执行一些查询时,如何在我的C#代码中使用它
      【解决方案5】:

      WebConfig 中的连接

      将您的连接字符串添加到Web.config 文件中的&lt;connectionStrings&gt; 元素。

      <connectionStrings>
      <add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"   providerName="System.Data.SqlClient" />
      </connectionStrings>
      

      在 Class.Cs 中

      public static string ConnectionString{
      get{
      return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
      set{}
      

      【讨论】:

        【解决方案6】:

        在标题中

        using System.Configuration;
        

        在代码中

        SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
        

        【讨论】:

          【解决方案7】:

          您也可以使用外部配置文件来指定连接字符串部分,并在应用程序配置文件中引用该文件,如web.config

          喜欢web.config 文件中的:

          <configuration>  
              <connectionStrings configSource="connections.config"/>  
          </configuration>  
          

          外部配置connections.config 文件将包含连接部分

          <connectionStrings>  
            <add name="Name"   
             providerName="System.Data.ProviderName"   
             connectionString="Valid Connection String;" />  
          
          </connectionStrings>  
          

          修改外部配置文件的内容不会重新启动应用程序(就像 ASP.net 默认情况下对应用程序配置文件的任何更改所做的那样)

          【讨论】:

            【解决方案8】:

            如果你想在 Web.config 中写入连接字符串,那么在给定的字符串下写入

            <connectionStrings>
              <add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
               providerName="System.Data.SqlClient" />
             </connectionStrings>
            

            你在 aspx.cs 文件中就像

            SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");
            

            【讨论】:

              【解决方案9】:

              你可以把它放在你的web.config文件connectionStrings

              <add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
              

              【讨论】:

                【解决方案10】:

                您可以使用以下格式:

                  <connectionStrings>
                    <add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
                  </connectionStrings>
                

                你很可能会在&lt;appSettings&gt;之后在web.config中找到connectionstring标签

                试试这个。

                【讨论】:

                  【解决方案11】:

                  你可以试试这个。很简单

                  <connectionStrings>         
                      <add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
                  </connectionStrings>
                  

                  【讨论】:

                  • OP 询问“在 web.config 中的位置”。
                  【解决方案12】:

                  试试这个作为你的连接字符串。

                   Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
                   User ID=myDomain\myUsername;Password=myPassword;
                  

                  【讨论】:

                  • 欢迎来到 Stack Overflow!当您发布旧问题的答案时,最好添加一些上下文,以说明为什么您的答案比旧问题更好。否则,它可能会在答案列表的底部被忽略。
                  【解决方案13】:

                  我刚找到!! 你需要把这个字符串connection 直接指向你的数据库。 服务器上的情况相同。

                  "Provider=Microsoft.ACE.OLEDB.12.0; 
                   Data Source=c:/inetpub/wwwroot/TEST/data/data.mdb;"
                  

                  有效!! :)

                  【讨论】:

                    【解决方案14】:

                    在 web.config 中存储连接字符串

                    最好将应用程序的连接字符串存储在配置文件中,而不是作为硬编码字符串存储在代码中。 .NET 2.0 和 .NET 3.5(及更高版本)执行此操作的方式不同。本文涵盖两者。 https://www.connectionstrings.com/store-connection-string-in-webconfig/

                    【讨论】:

                      【解决方案15】:

                      web.config 内的&lt;configuration&gt;&lt;/configuration&gt; 中创建一个名为&lt;connectionStrings&gt;&lt;/connectionStrings&gt; 的部分,然后为其添加不同的连接字符串,例如

                      <configuration>
                      
                        <connectionStrings>
                         <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
                        </connectionStrings>
                      
                      </configuration>
                      

                      这里列出了所有不同的连接字符串格式https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx

                      【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2017-05-11
                      • 2013-03-15
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2013-07-09
                      • 1970-01-01
                      相关资源
                      最近更新 更多