TableAdaptersによって作成されたDataTablesを使用してレポートを生成するプログラムがあります。今、私のクライアントは新しいデータベースを持っており、彼は新しいデータベースと古いデータベースを切り替えられるようにしたいと考えています。app.configの接続文字列を変更することで実行できることがわかりましたが、実行時に実行する方法がわかりません。方法を教えてもらえますか?ありがとう
質問する
3407 次
2 に答える
7
実行時にそれを行う方法がわかりません
しないでください。に複数の接続文字列を含め、app.config
必要に応じてそれぞれにアクセスできます。
構成:
<connectionStrings>
<add name="conn1" providerName="System.Data.SqlClient"
connectionString="..." />
<add name="conn2" providerName="System.Data.SqlClient"
connectionString="..." />
</connectionStrings>
コード内:
var conn1 = ConfigurationManager.ConnectionStrings["conn1"];
var conn2 = ConfigurationManager.ConnectionStrings["conn2"];
于 2012-04-12T10:48:34.383 に答える
1
次のように、複数の接続文字列を定義できます。
<add name="Conn" connectionString="Data Source=PC\SQLEXPRESS;Initial Catalog=NHIB;Integrated Security=True" providerName="System.Data.SqlClient"/>-->
<add name="Conn1" connectionString="Data Source=WINSERVER;Initial Catalog=NHIB1;Integrated Security=True;" providerName="System.Data.SqlClient"/>
その後、要件に基づいてconnまたはconn1を使用できます。
SqlConnection con;
con = new SqlConnection(ConfigurationManager.AppSettings.Get("Conn")); Or
con = new SqlConnection(ConfigurationManager.AppSettings.Get("Conn1"));
以下のように切り替えることができます。
string connectionString = HttpContext.Current.Request.IsLocal ?
ConfigurationManager.ConnectionStrings["Conn"].ConnectionString :
ConfigurationManager.ConnectionStrings["Conn1"].ConnectionString;
yourDataContext = new YourApplicationDataContext(connectionString);
于 2012-04-12T10:50:31.747 に答える