我正在维护一个不是我在 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添加部分组和部分
我把它放在任何地方都不会这样做。