2010-10-27 10 views
2

我需要做的是2個數據庫之間的一些數據。源可以是任何東西(逗號分隔的文件,xls文件,任何數據庫,...),目標是MS SQL Server。是否有一個免費的圖形用戶界面工具,可以在腳本規則中對數據庫進行數據同步?

我不需要同步所有的數據,我只需要同步特定的表。

例子:

我需要同步會計軟件(在PostgreSQL上運行)CUSTOMERS表與CRM(SQL Server上運行)。

一些問題,這個工具應該能夠面對:

1)會計軟件的客戶表中有未在CRM客戶表映射1場。 (這樣,我想這個額外的字段映射到外地CUSTOMERS_CUSTOM_DATA.EXTRA_FIELD)

2)有一些規則(如同步客戶只代碼爲10000和99999之間)

3)允許執行一些後插入任務(例如我使用手動管理seuqences爲tanble ID,所以插入10條記錄後,我需要添加10到序列)

4)有一個異常處理機制,所以如果出現錯誤它可以枯萎調用一個sql server存儲過程(我已經有了,它會發送一封電子郵件給我),或者只是發送一條消息來通知夜間同步中出現錯誤。

5)很容易安排何時執行數據同步(每小時,每天,包括手動)

6)執行的數據轉換:如果在源表姓字段爲varchar(20),並在目標表爲varchar (15)我想明確地說「執行截斷」。

7)插入或更新有不同的規則。例如,在源電子郵件字段中不存在,但我想將其填充到目標中,我決定僅在插入時執行此操作,而不是在更新時執行此操作。 (例如,當我插入一個新客戶時,我想填充電子郵件字段連接名稱和姓氏,但是接下來我想讓用戶修改它,此第一次插入僅用於簡化數據輸入,但接下來是此特定情況所以我想說(在插入填充電子郵件字段上,更新時不要對電子郵件字段做任何事情)

8)如果在源數據庫中刪除,請不要刪除目標但只能將varchar(10)狀態更改爲DELETED。

注意:我知道Integration Services對此非常完美,但我必須支持Express Edition,所以SSIS不是一種選擇。

我創建了一堆腳本和預定的存儲過程,目前做我所需要的,但它很難維護,並且完全缺乏GUI會使工作變得更慢。我記得以前看過TALEND,也許這個工具也是我需要的答案,無論如何我需要爲管理層提供一個快速答案,所以我現在沒有時間去調查市場上所有的工具,而且我更喜歡有一位專家的建議。

+1

購買SQLServer標準版。用SSIS做你的ETL。如果需要,導出到SQL Express。購買能夠完成這項工作的工具的成本比試圖使工具A做工具B的工作更有效。使用SSIS,您將獲得支持的安全和強大的產品。有了免費的工具,你可以得到你所支付的。你打算在免費工具上下注你的工作嗎? – 2010-11-20 13:34:20

+0

一般來說,有人在使用免費工具(如java),它們有着嚴肅的工作......無論如何,您的意見很有趣,導出到SQL Express是我需要探索的事情,我對此不知道。你的意思是可以在SSIS中定義一個流程,然後使其成爲express版本的可用流程?我的客戶擁有幾乎所有的快遞版本,而我擁有該企業。 – LaBracca 2010-11-22 10:27:58

+0

無論如何通過閱讀這個討論(http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/f4b14b09-ae34-42db-93fb-9d1f7c75e249/)它似乎是不可能導出的東西快遞版,除非我沒有明確地將標準版連接到快遞版。我想要我的客戶可以安裝的東西。我的意思是:我在exnterprise版本中創建了「工作」,但後來我需要將它導出到它們。這是否可能? – LaBracca 2010-11-22 11:02:20

回答

1

最後我去了TALEND,我從來沒有真正使用過SSIS,我只是在SQL Server會議上看過它的現場演示。無論如何,Talend對SSIS來說是一個免費的選擇(而且相當豐富),所以它將滿足所有客戶的需求,包括那些擁有SQL Server Express的客戶(95%)。

1

我相信SQL Server Integration Services可以完成所有這些工作,我相信SQL Server Management Studio允許您創建和打包SSIS作業,以便將它們部署到別處。

相關問題