问题与创建对象SQL连接异常

时间:2019-02-02 15:59:05

标签: c# sql-server

我在Visual Studio 2013创建的SQL Server数据库。

我有一个问题,当我试图创建一个新的SqlConnection对象。相同的代码昨天工作了,但是现在我遇到了一些问题。我还添加了SQLException,但我找不到此代码

try
{
    string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;

    SqlConnection sqlConnection = new SqlConnection(connectionString);
    sqlConnection.Open();
}
catch (System.Data.SqlClient.SqlException sqlException)
{
    System.Windows.Forms.MessageBox.Show(sqlException.Message);
}

Application.Run(new LoginForm());

SqlConnection没有工作。这是例外。我不知道它是什么错误的,因为它没有前工作

  

未处理System.TypeInitializationException
  HResult = -2146233036
  Message ='System.Data.SqlClient.SqlConnection'的类型初始值设定项引发了异常。
  来源= System.Data
  类型名= System.Data.SqlClient.SqlConnection

     

StackTrace:

     

在System.Data.SqlClient.SqlConnection..ctor(字符串的connectionString)
  在d:\ Taekwon-Do \ MercazApp \ MercazApp \ MercazApp \ Program.cs:line 26的MercazApp.Program.Main()中

     

的InnerException信息:System.InvalidOperationException
  HResult = -2146233079
  消息=无法读取飞地提供商的配置部分。确保在应用程序配置文件中该部分的格式正确。

     

错误消息:配置系统无法初始化
  源= System.Data

     

StackTrace:

     

在System.Data.SqlClient.SqlConnection..cctor()

     

InnerException:System.Configuration.ConfigurationErrorsException
  HResult = -2146232062
  消息=配置系统初始化失败
  来源= System.Configuration
  BareMessage =配置系统无法初始化
  行= 0

     

InnerException:System.Configuration.ConfigurationErrorsException
  HResult = -2146232062
  Message =根元素丢失。 (C:\ Users \用户来自Alexs \应用程序数据\本地\ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config)
  来源= System.Configuration
  BareMessage =缺少根元素。
  文件名= C:\ Users \用户来自Alexs \应用程序数据\本地\ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config
  线= 0

     

的InnerException信息:System.Xml.XmlException
  HResult = -2146232000
  消息=缺少根元素。
  Source = System.Xml

app.config

    <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MercazApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
    </sectionGroup>
  </configSections>
  <connectionStrings>
    <add name="MyKey"
         connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=D:\Taekwon-Do\MercazApp\DB\LoginDb.mdf;Integrated Security=True;"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <userSettings>
    <MercazApp.Properties.Settings>
      <setting name="username" serializeAs="String">
        <value />
      </setting>
      <setting name="password" serializeAs="String">
        <value />
      </setting>
      <setting name="name" serializeAs="String">
        <value />
      </setting>
    </MercazApp.Properties.Settings>
  </userSettings>
</configuration>

2 个答案:

答案 0 :(得分:1)

  

根元素丢失。 (C:\ Users \ alexs \ AppData \ Local \ MercazApp \ MercazApp.exe_Url_ka1yz14eyfxx0cttxywliv5ag3ke50uk \ 1.0.0.0 \ user.config)

似乎相关。该文件可能更改为错误的文件。检查一下。

  

我真不敢相信你!我将该文件夹重命名为old,在构建之后再次创建了该文件夹,现在可以正常使用了!!我花了四个小时。您在哪里看到该错误以及原因所在?

我只是完整地阅读了异常。异常包含很多信息。值得养成充分阅读,理解和解释它的习惯。

答案 1 :(得分:0)

尝试将连接字符串直接放入代码中,以代替表示以下内容的行:

string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;

这将告诉您是否是web.config问题。由于它突然开始播放,因此IIS中的某些配置更改很可能触发了Web配置的更新。

也值得一试whther有不同的文件夹(包括app_data文件),如果你找到一个没有内容,只需要删除它的任何其他.config文件。