我正在维护一个不是我在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
添加部分组和部分我说的任何地方都没有。
答案 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