无法在C#web.config中创建连接字符串

时间:2013-08-01 11:39:35

标签: .net web-config

我正在维护一个不是我在ASP.NET中构建的网站 它是用C#.NET构建的

网站使用名为MegaTecDAL.dll的DLL访问数据库 (注意:我没有这个dll的代码,只有dll和PDB)

最近,我们需要将站点移动到另一个具有另一个数据库的服务器,因此需要更改数据库的连接字符串。 我觉得应该很容易!
我没有在web.config或任何地方找到连接字符串,

我反编译数据访问层MegaTecDAL.DLL以获取连接字符串的读取位置,并找到以下内容(注意:getzConnectionString)

namespace MegaTecDal.Properties
{
  [CompilerGenerated]
  [GeneratedCode("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
  internal sealed class Settings : ApplicationSettingsBase
  {
    private static Settings defaultInstance = (Settings) SettingsBase.Synchronized((SettingsBase) new Settings());

    public static Settings Default
    {
      get
      {
        Settings settings = Settings.defaultInstance;
        return settings;
      }
    }

    [DefaultSettingValue("Data Source=old.server.address.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword")]
    [ApplicationScopedSetting]
    [SpecialSetting(SpecialSetting.ConnectionString)]
    [DebuggerNonUserCode]
    public string getzConnectionString
    {
      get
      {
        return (string) this["getzConnectionString"];
      }
    }

    static Settings()
    {
    }
  }
}

我意识到,连接字符串取自默认值 但我似乎无法找到如何指定新的价值。

我试过:

添加到web.config

<connectionStrings>
    <add name="getzConnectionString" connectionString="Data Source=new.server.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword" providerName="System.Data.SqlClient" />
</connectionStrings>

还尝试添加到web.config

<appSettings>
    <add key="getzConnectionString" value="Data Source=new.server.com;Initial Catalog=getz;User ID=aUserName;Password=StrongPassword"/>
</appSettings>

尝试使用上述部分创建名为MegaTecDAL.dll.config的文件,并将其放入BIN / App_Data / App_Code&amp;根文件夹,但仍然会调用默认连接字符串。

还尝试按http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx

添加部分组和部分

我说的任何地方都没有。

2 个答案:

答案 0 :(得分:3)

我认为您需要包含要配置的ConnectionString的命名空间:

<connectionStrings>
  <add name="MegaTecDal.Properties.Settings.getzConnectionString" 
       connectionString="yourNewConnectionString"
       providerName="System.Data.SqlClient"  />
</connectionStrings>

答案 1 :(得分:0)

<connectionStrings>
  <add 
      name="getzConnectionString" 
      connectionString="Data Source=serverName;Initial 
      Catalog=getz;Persist Security Info=True;User 
      ID=userName;Password=password"
     providerName="System.Data.SqlClient"/>
</connectionStrings>

这可能对您有所帮助。尝试添加此功能。有关详细信息,请查看此链接http://msdn.microsoft.com/en-us/library/ms178411%28v=vs.100%29.aspx