2015-08-18 28 views
-2

我想在沒有來自odbc和jdbc驅動程序的幫助下連接到java中的oracle 10g數據庫。有沒有辦法做到這一點?在此先感謝連接到沒有odbc和jdbc的oracle數據庫

+0

驅動程序jar有什麼問題? –

+0

沒問題。只是我需要知道是否有其他方法可以使用Web服務或任何其他方式 –

+0

不帶驅動程序如何運行連接數據庫?你必須寫你自己的驅動程序.. –

回答

3

否。這正是JDBC驅動程序的用途。連接到數據庫。

嚴格來說,你可以編寫自己的驅動程序(並將其稱爲別的東西),但這將是一個巨大的工作量,只是因爲你拒絕以正確的方式做事。

+0

實際上,我需要在沒有特別jdbc和odbc幫助的情況下執行此操作。這就是爲什麼我要問是否有替代方案 –

+0

@IbrahimAliKhan如果沒有合適的驅動程序,無法從Java連接到Oracle,所以這是一個不可能的要求。沒有什麼能阻止你生成腳本並通過命令行工具或TOAD運行它們,但這完全是另一回事(你沒有連接到數據庫)。 – Kayaman

+0

其實我有興趣知道是否有其他方法建立連接 –

1

是的,這是可能的。 Oracle可以充當網絡服務提供商

在10g版本中,您只能發佈REST XML/JSON服務;在11g中,增加了對SOAP Web服務的支持。

請注意,Oracle提供的服務需要在PL/SQL中實現;本質上你會編寫存儲過程來包裝你通常通過JDBC發送的SQL查詢。與JDBC相比,Web服務/ REST API是一個非常不同的工具,因爲它在更高級別的抽象層上工作。您只應在需要時使用它(例如,如果您不想將SQL與Java代碼混合使用),而不是,因爲對JDBC驅動程序的安全問題存在錯誤信念。

請參閱this Oracle-Base article瞭解更多信息。

+0

我應該猜到這是可能的(因爲至少Postgres可以執行類似的技巧)。然而,正如你所說的,這不是連接到數據庫,而是關於一個偏執狂,無知的老闆。 – Kayaman

+1

@Kayaman,是的,從數據庫發佈Web服務是一個非常極端的解決方案。我不會將它用於任何基於Java的堆棧,因爲有更好的選擇,例如直接或通過ORM使用JDBC。 –