我正在維護一個並非由我在ASP.NET中構建的網站。
它是建立在C#.NET無法在C#中創建連接字符串web.config
網站訪問使用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
無論我把它它不這樣做。
我已經做了,在'web.config'和'MegaTecDAL.dll。配置「,但無法正常工作 –
您是否收到任何錯誤? –
不,網站連接到舊服務器中的默認數據庫 –