【问题标题】:ConnectionString not found have tried multiple waysConnectionString not found 尝试了多种方法
【发布时间】:2018-05-09 03:44:04
【问题描述】:

没有找到连接字符串我尝试了多种方法,但一切都顺利,我在app.config 有一个数据访问层项目我提到了连接字符串

 </configuration>
     <connectionStrings>
        <add name="MySqlConnectionString" connectionString="server=myserver;User Id=myuser;password=mypassword;database=mydatabase"
     providerName="MySql.Data.MySqlClient" />
      </connectionStrings>
    </configuration>

C#代码

public void ConnectionString()
{
    try
    {
        var connectionString = ConfigurationManager.ConnectionStrings["MySqlConnectionString"].ConnectionString; //does not work
        var connectionString2 = ConfigurationManager.AppSettings["MySqlConnectionString"];//does not work
    }
    catch(Exception ex)
    {

    }
}

我做错了什么我尝试了多种解决方案但对我不起作用

ConnectionString Not Found

【问题讨论】:

    标签: c# mysql configuration connection-string


    【解决方案1】:

    感谢大家帮助我的主要问题是我在错误的地方添加了连接字符串属性

    错误的地方

     <runtime>
        <connectionStrings>
          <add name="MySqlConnectionString" connectionString="server=myserver;User Id=myuser;password=mypassword;database=mydatabse"
       providerName="MySql.Data.MySqlClient" />
        </connectionStrings>
    
      </runtime>
    </configuration>
    

    正确的地方,我已经将运行时属性下的连接字符串剪切并单独粘贴,问题就解决了

    <connectionStrings>
              <add name="MySqlConnectionString" connectionString="server=myserver;User Id=myuser;password=mypassword;database=mydatabse"
           providerName="MySql.Data.MySqlClient" />
            </connectionStrings>
    

    谢谢大家

    【讨论】:

      【解决方案2】:

      您的连接字符串名称Default。当你想阅读它时,你应该考虑这个细节。试试这样;

      public void ConnectionString()
              {
                  try
                  {
                       var connectionString = ConfigurationManager.ConnectionStrings["Default"].ConnectionString;
      
                  }
                  catch(Exception ex)
                  {
      
                  }
              }
      

      或者您可以根据需要更改连接字符串名称

      </configuration>
           <connectionStrings>
              <add name="MySqlConnectionString" connectionString="server=myserver;User Id=myuser;password=mypassword;database=mydatabase"
           providerName="MySql.Data.MySqlClient" />
            </connectionStrings>
          </configuration>
      

      【讨论】:

      • 抱歉,错误的图片附有问题,两个键都相同且不起作用
      • 它应该可以工作。您应该在执行项目的 app.config 中定义连接字符串,而不是在“数据访问层”项目的 app.config 中。
      • 我有两个项目,一个是 dal,另一个是 Web 解决方案,我在两个项目中都添加了连接字符串。
      • Web 项目的 Web.config 和类库项目中的 app.config 不起作用。两者都有连接字符串设置
      • 删除第二行。 "var connectionString2 = ConfigurationManager.AppSettings["MySqlConnectionString"];//不起作用"
      【解决方案3】:

      从图片中我可以看到一个“app.config”和一个“web.config”,所以我认为有不同的项目。我对吗?如果是,则必须在执行项目上添加connectionString(如果它是一个网站,或者一个独立的,或者不管它是什么)。

      您使用的代码是正确的

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

      它必须正常工作。

      【讨论】:

      • 是的,不同的项目一个是类库项目,另一个是 asp.net mvc 应用程序。类库有 app.config 和 web 项目有 web.config 文件数据库连接和查询在 dal 项目中管理我不知道出了什么问题
      • 关键是:“你必须在执行项目上添加connectionString”正如Fenuska所说的
      • @JohnDoe 在 MVC 应用程序的 web 配置中添加 connectionString,如果它有效,请告诉我们。
      猜你喜欢
      • 2021-08-01
      • 2020-09-22
      • 1970-01-01
      • 1970-01-01
      • 2022-08-10
      • 2014-11-09
      • 2023-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多