簡體   English   中英

在多個數據庫中插入/更新行

[英]Insert/Update row in multiple databases

我有一個涉及軟件即服務的項目。 該應用程序有一個SystemDB和多個客戶數據庫。 客戶數據庫完全相同(所有表都相同)。 系統數據庫包含一個表,其中包含來自客戶數據庫的所有詳細信息,如dbname,dbPassword,dbUsername等。

如何更新所有數據庫並確保更新正確。 例如。 所有db都有一個轉換表。 我想在所有表格中添加一個單詞。 或者我想更新拼寫錯誤的單詞。 我有超過50個db我們要維護。 所以手動工作是不可能的。

有關可以執行此操作的軟件或框架的任何建議。

我使用PHP5.4.0但沒有特定的框架。我們使用MS Sql 2008R2作為數據庫

謝謝,

我會使用SQL Server隱式支持的復制來解決這個問題。 復制允許您在系統數據庫(發布者)中發布某些表,並從一個或多個客戶數據庫(訂閱者)訂閱數據更改。 由於您只是向一個方向推送數據,並且正在鏡像某些表和系統數據庫,因此這對您來說非常有用。

您可以從SSMS設置復制。 展開對象資源管理器中服務器下的“復制”分支,右鍵單擊“本地發布”,然后選擇“創建發布”。 該向導將指導您完成發布過程。 對訂閱執行相同操作,並為每個客戶數據庫創建訂閱。

由於您擁有大量客戶數據庫,因此在使用t-sql創建訂閱時,值得您使用,然后在所有目標數據庫中復制該代碼。 有關如何執行此操作的說明,請查看http://msdn.microsoft.com/en-us/library/ms147346.aspx

我們有從多個數據庫讀取的simillar情況,我們的pl是C#.net。 為此,我們編寫了一個C#.net代碼,它逐個運行並連接到每個數據庫,並將數據管理到一個服務器中。 我建議你只采用這種方式,任何腳本如更新或插入sripts都應該用作.Net中的Excecute Query。 在此我們將避免手動連接和更新。

使用數據庫觸發器更新其他數據庫中的表。

我擔心沒有魔杖可以做到這一點。 但如果你覺得做一些魔術嘗試使用ORM。 它讓生活變得如此簡單。

我最喜歡的是

Doctrine ORM - http://www.doctrine-project.org/

當然還有很多人都喜歡。 推進RedbeanPHP

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM