另類的異構系統資料互動

2021-08-29 17:15:17 字數 973 閱讀 9930

這學期大四,應聘上了深圳一家軟體公司實習。現在上班也有乙個半星期了吧,上個星期主要是熟悉公司現有專案的業務。昨天開始分配給我一項任務,就是做兩個系統的資料互動,一開始還以為要用到webservice之類的東西,所以趕緊到網上查了一堆的資料。後來老大告訴我另外乙個專案(資料提供源)的程式不能動,只限於資料庫上的操作(源ms server,目的oracle10g),那邊伺服器上提供ftp服務,所以剛開始考慮通過ms server定時匯出xml格式的資料,然後通過ftp把資料讀取過來,然oracle的xml解析函式解析資料然後匯入資料庫。後來發現雙方匯入匯出xml格式資料非常的麻煩,而且好象oracle10g的xml.parse函式有bug,所以只能考慮別的方式。

今天決定試一試讓ms server通過bcp工具匯出oracle格式的insert指令碼,然後放到ftp伺服器目錄,通過sun.net.ftp.*包的工具把伺服器上的指令碼檔案剪下過來,匯入到oracle資料庫中去。

整個過程需要注意幾個方面:

1、ms server的定時作業任務(即匯出指令碼)的時間需要控制在spring定時器的前面。

2、因為涉及到多個表,所以父表的資料要先導出,再導子表資料,而且要設定相應的標誌,0沒有操作,1準備匯出,2已經匯出,首先要把父表為0的標誌改為1,然後修改相應的子表標誌為1,匯出資料後改為2。

查詢順序:select parent ,select children

如果不設定1準備匯出這個動作的話,那麼讀完parent表後,可能會有同時插入parent 、children表的操作,而parent 表已經匯出,children表匯出的指令碼可能有跟新parent 資料關聯,其指令碼在匯入到oracle的時候將報錯。

整個過程主要有三個:

1、ms server任務器定時呼叫儲存過程匯出insert指令碼

2、spring定時任務器定時呼叫sun.net.ftp.*進行指令碼讀取操作

3、spring將指令碼匯入oracle執行

今天實驗成功,不知道實際執行效果如何,期待中!

NODEJS 異構系統資料互動

nodejs 與異構系統資料互動主要是兩種方式 1 直接呼叫dll 實現資料互動 可通過ffi 方式實現。優點是 安裝好ffi後可快速相容原有業務 缺點 配置ffi編譯環境複雜,對dll 的編寫方式有一定要求,不規範的dll 可能導致node執行異常 64位的node 跟 32位 dll 的相容性問...

系統資料互動

一般談到統間的資料互動,大多想到的格式是xml,因為xml有良好的可擴充套件性,豐富的編碼工具,如dom4j,jdom,但實際開發中,無論是客戶端的生成或是伺服器端的解析,都是一件麻煩的事情,特別是xml的解析經常是一件及其耗費資源的工作,對openfire的一項壓力測試發現,有超過10 的cpu使...

區塊鏈系統可以實現資料的互動需求

通過訪問多鏈結集中預言器 adamoracle 區塊鏈系統可以實現世界資料的互動需求,通過 adamoracle 的多鏈結執行生態和 adamoracle 生態通證 adam 可以實現鏈上和鏈下的資訊資料和 token 的流動,在一定程度上可以改善當前塊鏈領域的資料現狀。使用中心化預言機存在明顯的弊...