2012-07-26 51 views
1

我想用2個表之間的連接結果同步單個表。我設計了這些dbs進行練習(EQUI JOIN位於PERSON.AddressId和ADDRESS.Id之間):在具有不同架構的單個表中合併2個表

如何執行dbs的供應和同步?

到現在爲止,我開發了一些關於常見場景的例子,例如不同的表名稱,不同的列名稱或刪除列。

這是如何實現的?

- >首先DB < -

PERSON:

- > ID(PK,INT NOT NULL)

- >名稱(NCHAR(10),NOT NULL )

- >姓氏(NCHAR(10)非空)

- > AddressId(FK,INT,不爲空)

地址:

- > ID(PK,INT NOT NULL)

- >街(NCHAR(10),NOT NULL)

- >城(NCHAR(10),不空)

- >國家(NCHAR(10)非空)


- >第二DB < -

客戶:

- > ID(PK,INT NOT NULL)

- >名稱(NCHAR(10),NOT NULL)

- >姓氏(NCHAR(10) ,NOT NULL)

- >地址(NCHAR(10),NOT NULL)

- >城(NCHAR(10),NOT NULL)


回答

0

據我可以從文檔中知道,架構需要匹配的同步工作。您可以使用DbSyncTableDescription的GlobalName屬性在具有相同模式但不同名稱的表之間進行同步。見JuneT的帖子:

http://jtabadero.wordpress.com/2011/05/08/synching-tables-with-different-table-names/

對於這種特殊的情況,我想你會通過在二DB製作人及地址,然後創建「客戶」的觀點(也關於第二DB)將提供最好的服務,以以統一的方式呈現兩張表格。

+0

謝謝你的回答。我已經閱讀過JuneT的文章,不同的名字不是問題...問題是如何執行連接... 你提出的解決方案是正確和聰明的,但不幸的是我不能採用它。我無法更改已有的數據庫模式,因此我無法在第二個數據庫上添加個人和地址! – ufo 2012-07-27 07:02:16

+0

@jfish,你也可以同步不同的模式。 – JuneT 2012-07-30 14:18:53

+0

您不能在同步範圍內使用視圖。 @JuneT直接在我的回答(我立即刪除)發表了評論。 「更改跟蹤是在表級別完成其跟蹤表會認爲用?怎麼會認爲說,如果有一個變化?」。 – 2012-07-30 17:07:12

相關問題