2014-03-12 31 views
0


我想获得在
这应该发生,因为后端处理页面加载事件从远程服务器DB到我的本地数据库,单个表的所有细节,任何一个可以帮助我在这个问题上。
同步数据从serverDB到本地数据库

注:
Server数据库表中的列可能会与本​​地数据库不同。
Each time when a new user is added in the server, it should update the local DB when the UserPage.aspx page is loaded.

工具使用:ASP.NET,SQL Server 2008的

如:
让DB名称是样品和表名客户

**Table Header in Server DB:** Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob 
**Table Headers in Local DB:** Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob,Cus_password 

页面加载后,客户表中的所有数据都应该是服务数据库同步的LocalDB

+0

这两个数据库都在同一台服务器上吗? – Archlight

+0

是的,它是在同一台服务器.. –

+0

[有在ADO.NET批量复制功能(http://msdn.microsoft.com/en-us/library/s4s223c6.aspx),或者你可以试试这个[例(http://stackoverflow.com/a/18209455/3089494) – pravprab

回答

0

Asuming数据库登录访问这两个数据库的您可以通过数据库连接执行以下字符串作为一个命令。

--empty local table 
truncate table [sample]..customer; 

--fill local table 
insert into [sample]..customer 
    (Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob) 
    select Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob from serverDb..Customer; 

这将让你startet,但这不是好的建筑。您可能希望在服务器数据库的表中放置触发器,每当serverDb中有新行时,都会将新行插入本地数据库中。

编辑

显示整个过程

protected void Page_Load(object sender, EventArgs e){ 
     string sql = @"--empty local table 
      truncate table [sample]..customer; 

      --fill local table 
      insert into [sample]..customer 
       (Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob) 
       select Cus_id,Cus_name,Cus_address,Cus_email,Cus_mob from serverDb..Customer;"; 

    var conn = new SqlConnection("Server=localhost;Database=sample;User Id=myUserName;Password = myPassword"); 
    var cmd = conn.CreateCommand(); 
    cmd.CommandText = sql; 
    conn.Open(); 
    cmd.ExecuteNonQuery(); 
} 
+0

我需要的页面加载过程中完成这个过程。我曾在我的文章中提到,请审查.. –

+0

是你可以在你的页面加载做到这一点。只需在连接对象中执行此文本即可。你也需要帮助吗? – Archlight

+0

是真的..我是新来的吧.. –

0

我会建议你安排一个工作负载记录从后端每隔15分钟间隔的LocalDB。您可以使用管理工作室来实现这一目标。

+0

你能认罪说我怎样才能ahcive它..? –

+0

请在这里阅读更多http://stackoverflow.com/questions/187770/copy-tables-from-one-database-to-another-in-sql-server –

相关问题