兩個庫同步更新資料庫

2022-02-26 13:12:59 字數 1645 閱讀 4698

我做的是2個資料庫的乙個備份同步更新,因為備份資料庫有字段的冗餘增加,所以不能完全bulkcopy這樣的同步,需要進行乙個修改再同步更新,具體修改**不展示出來了,下面貼更新**。

開始的時候,使用如下**進行更新:

using (var conn = new

sqlconnection(fromconn))

int updatecount = 0

;

using (var tmpconn = new

sqlconnection(toconn))

}sw.stop();

//修改當前表最後同步時間

updatelasttime(toconn, tablename, nowtime, "

update");

console.writeline(

"增量同步資料更新完成,表名:,資料條,耗時秒

", tablename, updatecount, sw.elapsed.totalseconds);}}

catch

(exception e)

}}

這種方法是沒有效果的,因為這是2個資料庫的表進行同步更新,sqldataadapter的update只對同乙個庫有效(我只能做到這種,能不能2個庫我現在做不出來),然後網上找另一種方法,然後有如下**對資料庫進行同步更新操作:

using (var conn = new

sqlconnection(fromconn))

int updatecount = 0

;

using (var tmpconn = new

sqlconnection(toconn))

tmpcolumnsql += "

where id=@id";

tmpsda.updatecommand = new

sqlcommand(tmpcolumnsql, tmpconn);

foreach (var column in

columnlist)

tmpsda.updatecommand.updatedrowsource =updaterowsource.none;

tmpsda.updatebatchsize = 500

; updatecount =tmpsda.update(dt);}}

sw.stop();

//修改當前表最後同步時間

updatelasttime(toconn, tablename, nowtime, "

update");

console.writeline(

"增量同步資料更新完成,表名:,資料總數:條,耗時秒

", tablename, updatecount, sw.elapsed.totalseconds);}}

catch

(exception e)

}}

這種方法能進行同步更新,但是效能現在還正在進行測試,不知道會不會很慢,因為資料量大的情況下,同步更新也是乙個耗時的操作。

如果有更好的方法,求分享。

同步兩個資料庫

同步兩個資料庫的示例 有資料 srv1.庫名.author有欄位 id,name,phone,srv2.庫名.author有欄位 id,name,telphone,adress 要求 srv1.庫名.author增加記錄則srv1.庫名.author記錄增加 srv1.庫名.author的phone...

sql 定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...

通過作業,定時同步兩個資料庫

定時同步伺服器上的資料 例子 測試環境,sql server2000,遠端伺服器名 xz,使用者名為 sa,無密碼,測試資料庫 test 伺服器上的表 查詢分析器連線到伺服器上建立 create table user id int primary key,number varchar 4 name ...