iT邦幫忙

0

Oracle與SQL資料轉換問題

  • 分享至 

  • xImage

公司最近打算購入一套系統,該系統是用Oracle的資料庫
新購系統的資料要導到另一個目前已在使用的系統裡,目前在使用的系統是MSSQL資料庫
由於小妹對Oracle資料庫完全不認識囧
所以想請教大家:

Oracle的資料導到MS SQL會有什麼問題嗎?或者還需要中介程式?中介程式可以推薦一下嗎?費用約多少?
若新系統的廠商願意協助中間的轉換,我要注意什麼事項(想寫在合約中)?

看更多先前的討論...收起先前的討論...
應該是現有資料庫 轉入 新系統吧?
不是
新系統有資料 倒到 現有系統,為什麼?
照理新系統應該沒有資料才對啊!

不然就使用 DTSWizard 試試!
如同賽大說的『是Oracle資料庫的系統維護資料後, 將相關資料抛轉到現有SQL Server資料庫中, 供現有的系統處理』
以上無誤XD
總裁 iT邦好手 1 級 ‧ 2013-05-03 16:12:30 檢舉
怕蝦姐想這個問題太累,聽首歌輕鬆一下...轉吧!!!

albertachen 說:
邏輯好=/=智商高

身體好的人 = 邏輯才會好
智商高 = 會轉彎




所以那些過勞死的工程師是怎麼回事?
所以他們是邏輯不好的工程師?

智商高 = 會轉彎
賽大..我跟你都被罵到了..我們都因為不會轉彎所以是公司黑名單..看來我們智商太低了倒

賽大..謝謝你囉!
你的回覆很受用!
現在在要求廠商直接測試哩!
謝謝你啦~^Q^
下回板聚再好好聊!灑花
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

10
賽門
iT邦超人 1 級 ‧ 2013-05-03 14:27:28
最佳解答

這個問題, 要確定兩件事:

  1. SQL Server資料庫是否還要繼續維護, 並和Oracle資料庫互動保持資料更新?
  2. 如果問題1.成立, 就必須決定兩個資料庫間各個需要互抛資料的Table的從屬關係, 然後判斷整合介面寫在那一邊為主比較容易整合.

由蝦姐的簡短描述, 我猜測是Oracle資料庫的系統維護資料後, 將相關資料抛轉到現有SQL Server資料庫中, 供現有的系統處理.

如果我的猜測是正確的, 有三種做法可以進行:

  1. 批次處理
  • Oracle資料庫的系統資料維護存檔時, 將資料抛出成為CSV檔案, 然後, 在SQL Server中寫SSIS, 定期把CSV檔案內容寫到SQL Server資料庫中.
  • Oracle資料庫寫出到CSV檔時, 必須多一個Status欄位, 註記該資料錄是新增、更新或刪除資料錄, 然後SQL Server的SSIS據以處理SQL Server資料庫中對應的資料錄.
  • 同樣的, SQL Server抛Oracle, 也是利用CSV檔格式, 只是Oracle是用SQL*Loader定期轉入資料庫.
  • 問題在於, 批次處理的週期如果判定, 依據是SQL Server資料庫的內容必須在那個時間點更新.
  • 這個做法的好處是: 可以惟持兩個資料庫的獨立性, 並且有機會回復錯誤的處理.
  • 缺點是不能即時更新, SQL Server資料庫內容有時間差, 可能造成業務上的困擾.
  1. 即時處理
  • Oracle資料庫的系統資料維護存檔時, 在Oracle的系統中增加一些程式碼, 透過ADO.NET直接抛轉到SQL Server.
  • SQL Server抛Oracle也是用ADO.NET來完成.
  • 這時必須要在Oracle資料庫的系統中增加程式碼, 必須要由開發商來支援.
  • 這個做法的好處是能夠即時反應資料庫異動.
  • 缺點時, 萬一資料庫間的連線不稳定, 造成資料未即時更新導致後續處理上的問題.
  1. 利用SSIS
    其實, SSIS如果善於運用, 可以直接整合SQL Server和Oracle資料庫, 只是這時都要以SQL Server資料庫為主, 向Oracle資料庫抛出或抛入資料錄.

不論以上那種做法, 蝦姐都要先:

  1. 找出兩個系統間需要互相抛轉資料的功能有那些, 其間互動模式如何, 建立一個系統整合架構圖來做為和各開發商討論介面程式如何做的基準.
  2. 決定資料抛轉的時間點. 由這裏, 可以決定採用批次或即時.
  3. 如果各系統有提供所謂Open Interface Table來做為整合異質系統的銜接點, 就把要抛轉的資料寫到Interface Table中, 讓系統自動回寫到正式Table會減少很多沒必要的錯誤.

以上, 提供給您參考.

註: Open Interface Table在很多ERP系統中都存在, 以利於外界資料批次抛入系統中. 例如: Oracle EBS有Item Interface Table來提供其他系統抛入物料基本資料.

看更多先前的回應...收起先前的回應...
總裁 iT邦好手 1 級 ‧ 2013-05-03 14:36:57 檢舉

如果這個機制要自己開發維護,就照賽大說的做。
如果您只需出一張嘴的話,就

寫在合約中

確定新舊系統能運作順暢就好。

我投第一種批次處理一票
謝謝

賽門 iT邦超人 1 級 ‧ 2013-05-03 14:59:18 檢舉

根據經驗, 這種整合工作都是吃力不討好的事情.

Albert iT邦高手 1 級 ‧ 2013-05-03 15:11:33 檢舉

寫在合約中

`不如試作驗收合格再簽約

賽大..太感謝你了!!切中題要!!

cdfu 說:
如果這個機制要自己開發維護,就照賽大說的做。
……下略

我真的就是出那張嘴的偷笑
只是擔心廠商說得天花亂墜,什麼都說可以,買了後就什麼都不行,所以要先確認XD

總裁 iT邦好手 1 級 ‧ 2013-05-03 16:02:58 檢舉

把妳擔心的是通通文字化寫進合約裡,就不用擔心了...讚
假設劇:嗯...我擔心吃這個會胖耶....這要怎麼寫進合約呀??...噎到這個....要問泰大....逃跑

ted99tw iT邦高手 1 級 ‧ 2013-05-03 16:09:56 檢舉

某人當然會說:心在那?
蝦姐會說:覓不可得。
於是~心安竟矣...

喂~是一個童雞一個桌頭嗎...汗

賽門 iT邦超人 1 級 ‧ 2013-05-03 16:48:32 檢舉

aenbishyar提到:
買了後就什麼都不行

這就是我中槍的主要原因, 不得已, 只好自己回家吃頭路....想當初那麼信任那家公司滴...Orz

總裁 iT邦好手 1 級 ‧ 2013-05-03 16:56:59 檢舉

防彈衣--遞出。...賽大,蝦姐,穿上吧...睡覺

ted99tw iT邦高手 1 級 ‧ 2013-05-03 18:11:02 檢舉

以賽大的厚度,穿潮T就可以了...哈哈

Albert iT邦高手 1 級 ‧ 2013-05-03 22:38:08 檢舉

simon581923提到:
這就是我中槍的主要原因, 不得已, 只好自己回家吃頭路....想當初那麼信任那家公司滴.

試作合格後再簽約

Albert iT邦高手 1 級 ‧ 2013-05-03 22:39:04 檢舉

中介程式....都是資料庫中的工具程式加上一些程式控制.
合約...重點在:

  1. 程式交付時的測試要做到什麼程度, 最好建立Sample Data及測試環境.
  2. 萬一資料漏失時的責任歸屬及對策.
  3. 保固條件, 最好要求上線後有工程師常駐, 以支援資料沒抛成功時的補救.

這些都不如
試作合格之後再談合約

ted99tw iT邦高手 1 級 ‧ 2013-05-03 23:14:48 檢舉

albertachen提到:
試作合格之後再談合約

曲高和寡,水清無魚,地球上沒幾家雙A華為啦...Orz

simon581923 說:
這就是我中槍的主要原因, 不得已, 只好自己回家吃頭路....想當初那麼信任那家公司滴...

基本上我們公司沒大到神龍見首不見尾..所以系統做不到的我都有一一呈報給最上級知道..也都有在跟廠商談判..這部份還好
我比較傷腦筋的是做人難..懶得跟人鬥才選資訊這行..結果處在辦公室還是得鬥啊Orz
賽大..我快追隨你的腳步了XD

總裁 iT邦好手 1 級 ‧ 2013-05-07 09:08:04 檢舉

aenbishyar提到:
賽大..我快追隨你的腳步了

賽大,蝦姐跟定你了....偷笑

外獅佬 iT邦大師 1 級 ‧ 2013-05-07 09:10:46 檢舉

資料庫同步的問題
其實可以用Microsoft Sync Framework,
如果擔心SQL Server <-> Oracle會有問題,
可以透過SQL Server Compact作為中介
SQL Server <-> SQL Server Compact <-> Oracle
這裡有一個應用案例:Database Sync: Oracle and SQL Compact 2-Tier
這是由Oracle同步資料到SQL Server Compact 3.5的範例。
SQL Server 同步到 SQL Server Compact則簡單許多。
謝謝

Albert iT邦高手 1 級 ‧ 2013-05-07 10:27:55 檢舉

試作合格 再談合約

可以找我

Albert iT邦高手 1 級 ‧ 2013-05-07 10:33:43 檢舉

ted99tw提到:
曲高和寡,水清無魚,地球上沒幾家雙A華為啦...

你好好的把規格開好
或跟我一起好好把規格開好

寫程式其實都是最簡單的,
除非他智商不滿 120 也跑來寫程式
就像台灣很多智商不滿 140 也跑來當教授
就一定很悲慘

Albert iT邦高手 1 級 ‧ 2013-05-07 10:40:15 檢舉

Oracle Database
有 java pl/sql 可以用 trigger
直接寫程式進入 mssql 介面檔

albertachen 說:
除非他智商不滿 120 也跑來寫程式

寫程式要的是邏輯
邏輯好=智商高
可以請教一下這個等號怎麼成立的嗎?XD

總裁 iT邦好手 1 級 ‧ 2013-05-08 10:43:35 檢舉

以阿伯的邏輯來說,他自己說的都是對的....失神

Albert iT邦高手 1 級 ‧ 2013-05-09 11:06:28 檢舉

aenbishyar提到:
邏輯好=智商高

邏輯好=/=智商高

身體好的人 = 邏輯才會好
智商高 = 會轉彎

邏輯好 + 智商高 = 可以接受任何難題

Albert iT邦高手 1 級 ‧ 2013-05-09 11:10:24 檢舉

以前跟全球最大資訊服務公司的經驗

描訴了一整天的需求
打樣試作只要 10 分鐘
因為他們有些[外圍技術顧問]根本需要 10天才能打樣試作

智商高才會快速產出構想
邏輯好才會正確產出架構

好棒

Albert iT邦高手 1 級 ‧ 2013-05-09 11:11:36 檢舉

不敢要求先試作

就是把自己當小三

女主人就是要敢要求

總裁 iT邦好手 1 級 ‧ 2013-05-09 11:23:17 檢舉

albertachen提到:
女主人就是要敢要求

男主人就是要敢要求小三...讚阿伯大真是太讚了!!!

鐵殼心 iT邦高手 1 級 ‧ 2013-05-09 11:40:41 檢舉

albertachen提到:
不敢要求先試作
就是把自己當小三

不可以壞了小三的名聲
那叫做小媳婦 不是小三抗議

cdfu 說:
以阿伯的邏輯來說,他自己說的都是對的....

看到他下面幾篇的回覆..我想..

我不能再同意你更多了!

4
Albert
iT邦高手 1 級 ‧ 2013-05-03 14:00:32

公司最近打算購入一套系統,該系統是用Oracle的資料庫
新購系統的資料要導到另一個目前已在使用的系統裡,
目前在使用的系統是MSSQL資料庫
Oracle的資料導到 MS SQL 會有什麼問題嗎?
或者還需要中介程式?中介程式可以推薦一下嗎?費用約多少?
若新系統的廠商願意協助中間的]轉換,
我要注意什麼事項(想寫在合約中)?

Oracle 每天轉資料到 MSSQL ?
這跟我們很像
因為要每天每小時 Oracle(ADempiere) 資料到 MSSQL (SAP/B1)
最後乾脆用 200小時
幫客戶作一個 MSSQL (ADempiere) 版
..............................
這樣就可以再同一資料庫比對資料
列印報表
::(想寫在合約中)::
?
不如要求[寫好可用][再簽約]
?
我們幫全球最大電腦資訊服務公司
寫全台灣最大電腦製造公司的系統
都是 [寫好客戶試用完成]
再簽約
這就是 IBM全球服務團隊最里害的
打樣, 驗證, 試用
合格後補文件
再簽約
一定 100% 無誤差

Albert iT邦高手 1 級 ‧ 2013-05-03 14:17:01 檢舉

如果 PDM/PLM 廠商沒能力改拋出資料庫

哪就是非[自有技術]
以後會有更多問題無法解決

例如用料零件設計變更
還有版本版次問題
RD 與 ERP 要即時聯動
...
客戶抱怨
客訴資料要從 ERP 回傳 MES(生產監控) / PDM / PLM
這都需要有能力去改善

這跟我們很像
因為要每天每小時 Oracle(ADempiere) 資料到 MSSQL (SAP/B1)

貴公司也有相同經驗?!
太好了!來交流一下吧XD

最終將ERP的資料庫從Oracle改為MSSQL,是因為在交換資料會有問題嗎?

Albert iT邦高手 1 級 ‧ 2013-05-03 15:19:50 檢舉

aenbishyar提到:
最終將ERP的資料庫從Oracle改為MSSQL,是因為在交換資料會有問題嗎?

  1. 因為要統一一種資料庫維護
  2. PDM 拋出資料龐大, 機種版次變化大,
  3. 開發導向公司還沒量產版次已經10幾版
  4. 拋轉完全才可以轉資料,要增加很多控管機制
  5. 每分鐘拋轉可能還沒拋完整下一個又開始拋轉會卡住
  6. 全部整合單一最不傷腦經

我要發表回答

立即登入回答