2

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

该站点使用名为的 DLL 访问数据库MegaTecDAL.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 & 根文件夹中,但仍然调用了默认连接字符串。

还尝试根据http://msdn.microsoft.com/en-us/library/8eyb2ct1.aspx添加部分组和部分

我把它放在任何地方都不会这样做。

4

2 回答 2

4

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

<connectionStrings>
  <add name="MegaTecDal.Properties.Settings.getzConnectionString" 
       connectionString="yourNewConnectionString"
       providerName="System.Data.SqlClient"  />
</connectionStrings>
于 2013-08-01T13:04:47.410 回答
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

于 2013-08-01T12:41:42.887 回答