2015-05-06 26 views
0

源文件是一個excel文件(Sheet1),目標文件是一個數據庫(oracle sql developer)。我的要求是比較兩個數據庫,並驗證所有記錄是否匹配,並在它們之間進行更多邏輯比較。所以我從目標數據庫(SQL開發人員)複製記錄並將其存儲在源文件(excel)的Sheet2中。我使用adodb連接字符串編寫了一個vbscript來連接Excel文件,並編寫了sql查詢以使用連接查詢來比較記錄。
使用vbscript連接兩個不同的數據庫和單個ADO連接使用vbscript

示例查詢:使用

SELECT srcTbl.Column_SH1_A, trgtTbl.Column_SH2_A, srcTbl.Column_SH1_B, 
     trgtTbl.Column_SH2_B 
    FROM [Sheet1$] srcTbl, [Sheet2$] trgtTbl 
WHERE srcTbl.Column_SH1_A = trgtTbl.Column_SH2_A 
    AND (srcTbl.Column_SH1_B <> trgtTbl.Column_SH2_B) 

上面的過程,我可以能夠比較來自不同數據庫中的記錄,但我不希望從移動目標數據庫的源文件中的記錄(Sheet2的在Excel中),而不是我想連接Excel文件作爲一個連接,SQL開發人員作爲另一個連接,並直接使用上述連接查詢(而不是Sheet1和Sheet2,我想使用Excel數據庫和SQL Developer數據庫)中的數據庫。

可能嗎?如果不是,你可以推薦任何其他解決方案。

+1

您不能在PLSQL中的常規'SELECT .. JOIN'中將Excel加入Oracle。 –

回答

0

我建議你做相反的事情,將Excel文件讀入另一個SQL Developer數據庫表,最好在與其他表相同的模式中,並在腳本或數據庫管理工具中執行你的sql。不可能在一個連接字符串中使用不同的連接參數,例如提供者。

+0

Yaa對於大型數據庫來說更好,但是我想合併上面所說的連接,而且似乎不可能。感謝您的回覆:) –

+0

有許多可行的方法,但不是那個,你能接受答案嗎? – peter