2012-07-16 155 views
1

嗨,我有問題連接到oracle數據庫。當我在模擬器中啓動我的應用程序時,它工作得很好。但是當我嘗試在手機上運行它時,它會崩潰。我得到以下錯誤:Android連接到oracle數據庫

detailMessage "Io exception: The Network Adapter could not establish the connection

我的連接代碼:

try { 
     Class.forName("oracle.jdbc.driver.OracleDriver"); 
    } catch (ClassNotFoundException e) { 
     e.printStackTrace(); 
    } 
    Connection conn; 
    try { 
     conn = DriverManager.getConnection("jdbc:oracle:thin:@ip:port/dtabase name","user", "port"); 

因此,任何關於這可能是一個問題的想法?我有數據連接打開我的手機上......

+0

是數據庫上傳到您的設備上? – mihail 2012-07-16 13:28:13

+0

我覺得這是你的數據庫服務器上的防火牆問題... – 2012-07-16 13:28:37

+0

數據庫是不是我的設備 – gabrjan 2012-07-16 13:32:48

回答

1

我會猜,要麼你有沒有要求互聯網權限您的清單,或者你使用的是本地IP和你的設備正在嘗試連接WAN及以上不是局域網。

+0

我使用IP作爲在我的清單190.160.111.14 NAD我有<使用許可權的android:NAME =」 android.permission.INTERNET「> gabrjan 2012-07-16 13:31:35

+0

你有沒有打開那個端口並確認它是可訪問的?當然,還有更多的錯誤信息。你能轉儲完整的堆棧跟蹤嗎? – 2012-07-16 13:34:47

+0

嗯,我應該打開我的手機端口或什麼? – gabrjan 2012-07-16 13:40:51

0

直接連接移動設備到RDBMS不推薦。這在技術上是可行的,但也有嚴重的安全隱患,更何況性能,電池壽命等

甲骨文實際上提供了專爲移動設備連接到和Oracle後端設計出來的產品:Oracle數據庫移動服務器。

http://www.oracle.com/technetwork/products/database-mobile-server/overview/index.html

你可以閱讀有關它在那裏,還可以下載和從下載選項卡試試。除了Oracle數據庫,您還需要一個應用程序服務器。建議使用WebLogic或Glassfish。

它有幾個優點,主要的一個是與一個Oracle後端沒有任何額外的開發工作從Android設備的SQLite數據同步的能力。您可以使應用程序在斷開模式下運行,並提供一些基本的設備管理功能。

祝您的項目順利。

Eric Jensen,Oracle PM