2017-08-31 40 views
0

執行語句我有一個通過java.sql.CallableStatement中與像行書面statemens調用MSSQL存儲過程的代碼:從Oracle或MSSQL

{? = call ProcedureName(@par = ?)} 

現在我需要重寫他們能夠調用甲骨文存儲過程。

是否有任何轉換器或類似的,它可以幫助我克服手工重寫他們的東西?

我會很高興爲普遍的方式,從特定類型的數據庫的單獨調用存儲過程或函數。

+0

爲什麼如果我想要一種統一的編程方式來做這個事情,這是一個什麼樣的問題? –

回答

1

我猜你調用存儲過程和覆蓋參數齊名的默認值?如果是這樣的了Oracle語法將

{? = call ProcedureName(par => ?)}

(假設你的存儲過程是一個真正的存儲功能,因爲它返回一個值)。

我不知道有任何通用的方法(但是,這並不意味着沒有當然的一個)來調用與JDBC中的指定符號的存儲過程。您當然可以用例如自己抽象的存儲過程調用。 (簡單化)接受存儲過程的名稱和傳遞給它的名稱/值數組的方法。根據目標數據庫類型的不同,在實現中使用oracle或sql server特定的表示法。

歡呼聲

+0

謝謝的,我已經打算通過建立從過程名和參數不同的CallableStatement的這種方式。 –