2

私が ASP.NET で作成したのではないサイトを維持しています。
C#.NETで構築されています

サイトは、呼び出されたDLLを使用してデータベースにアクセスしますMegaTecDAL.dll
(注:このdllのコードはありません。dllとPDBのみです)

最近、サイトを別のデータベースを持つ別のサーバーに移動する必要があるため、データベースの接続文字列を変更する必要があります。 私はかなり簡単だと思った!
web.configやどこにも接続文字列が見つからなかったので、

Data Access Layer 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 に答える