実行時に ADO.Net DataSet を別のデータベースに向けますか?
-
02-07-2019 - |
質問
大規模な ADO.Net データセットと、異なる制約を持つ 2 つのデータベース スキーマ (Oracle) があります。データセットはどちらのスキーマでも動作しますが、実行時に(接続文字列を介して)どのスキーマを使用するかをデータセットに指示できるようにしたいと考えています。
それは可能ですか?
解決
.Net 2.0 の世界では、実行時にテーブル アダプタの接続文字列を変更できます。Connection プロパティがパブリックであることを確認する必要があります。これはデータセット デザイナーから設定できます。
他のヒント
データセットは、それがどのデータベースを指しているのかを知りません。データセットは単なるデータのコンテナーです。データセットにデータ アダプターが含まれている場合、@Austin Salonen が指摘したように、アダプター側でそれを変更します。
これは、実行時に接続文字列を更新する方法を示すコード スニペットです。データセットを生成したものは関係ありません。
DataSet ds = new DataSet();
// Do some updateing here
// Put your connection string here dyanmiclly
System.Data.OleDb.OleDbCommand command = new System.Data.OleDb.OleDbCommand("Your Runtime Connection String");
// Create the data Adapter
System.Data.OleDb.OleDbDataAdapter dataAdapter = new System.Data.OleDb.OleDbDataAdapter(command);
// Update the dataset
dataAdapter.Update(ds);
所属していません StackOverflow