- ベストアンサー
複数のデータベース使用方法
tora0125と申します。よろしくお願い致します。 データベース:SQLServer2000とSQLServer2005CTP 開発:VisualStadio.NET2003 言語:C# データベースDB_AとDB_Bというものがあり、随時アクセスするデータベースを変更したいと思っております。 cn.ConnectionString = "Data Source=LOCAL" + "; User Id=TEST" + "; Password=TEST" + "; initial catalog=DB_A" + "; persist security info=True;"; 上記のようにコネクションの設定を行っております。主となるデータベースはDB_Aです。 その後、必要となったときにDB_Bにコネクションを変更する方法をどなたかご教授下さい。 拙い文章でわかりずらい箇所があると思いますが、どうぞよろしくお願い致します。 カテゴリー違いでしたら申し訳ございません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
SqlCommand cmd = cn.CreateCommand(); cmd.CommandText = "select * from A_Table join DB_B..B_Table on A_Table.Col1 = DB_B..B_Table.Col1"; SqlDataReader rdr = cmd.ExecuteReader(); クエリのテーブル名でDBを省略せずに記述では? テーブルの所有者がdbo以外の時は所有者も指定してください
その他の回答 (2)
- 7marine
- ベストアンサー率36% (59/160)
UserIDがDB_AとBD_Bで同じ場合は接続を継続したままでも対象DBを変更できたはず SqlCommand cmd = cn.CreateCommand(); cmd.CommandText = "USE DB_B"; <--使用DBの切り替えを行うクエリ cmd.ExecuteNonQuery(); 検証していないので自信なしです
補足
chibita_papa様 7marine様 お二方一緒に補足してしまうことをご容赦下さい。 私の説明不足で恐縮なのですが、2つのDBから同時にデータを抽出したいと思っております。 つまり、「DB_AのTBALE_AのAカラムとDB_BのTABLE_BのBカラムからデータを抽出」のような感じです。 以上、よろしくお願い致します。
- chibita_papa
- ベストアンサー率60% (127/209)
cn.close cn.ConnectionString = "Data Source=LOCAL" + "; User Id=TEST" + "; Password=TEST" + "; initial catalog=DB_B" + "; persist security info=True;"; cn.open では、 外してるような気もしますが
お礼
ご回答ありがとうございました。 とても参考になりました。頂きました情報を元にシステム構築を行いたいと思います。