0

2 つの異なるサーバーから 2 つのテーブルを接続する必要があります。

C#でそれを行うにはどうすればよいですか?

これは私がこれまでに持っているものです:

cmd = new MySqlCommand(String.Format("INSERT INTO {0} (a,b,c,d) SELECT (a,b,c,d) FROM {1}", ConfigSettings.ReadSetting("main_table"), ConfigSettings.ReadSetting("main_table")), con);

ConfigSettings.ReadSetting("main_table")どちらも同じだからです。

 con.ConnectionString = ConfigurationManager.ConnectionStrings["con1"].ConnectionString;
 con2.ConnectionString = ConfigurationManager.ConnectionStrings["con2"].ConnectionString

このコマンドを 2 つの異なる接続文字列と同じ名前のテーブルで機能させる方法。テーブル名は変更されるため、構成に保存されます。

4

1 に答える 1

1

MySQLサーバーを動的にリンクすることはできません。

データベース間で直接コピーが必要な場合はFEDERATED、ターゲット サーバー上にソース サーバーを指すテーブルを作成し、次のコマンドを発行する必要があります。

INSERT
INTO    main_table (a, b, c, d)
SELECT  a, b, c, d
FROM    federated_main_table

ターゲットサーバー上。

ソース サーバーやテーブルが複数ある場合は、それらのそれぞれに対してフェデレーション テーブルを作成する必要があります。

もう 1 つのオプションは、ソース サーバーからクライアントへのすべてのデータを選択し (配列、永続的なレコードセットなどに)、クライアントにキャッシュされたデータをターゲット サーバーのテーブルに挿入することです。

于 2012-06-02T21:24:12.840 に答える