在AS(Android Studio)中,鏈接Oracle數據庫是一個相對來說比較麻煩的操作,但是如果我們學會了正確的方法,也就能夠輕松的實現這個功能。在這篇文章中,我們將會為大家詳細的介紹AS如何鏈接Oracle。
首先,我們需要在項目的build.gradle文件中加入Oracle的驅動。
dependencies { ... implementation 'com.oracle.database.jdbc:ojdbc8:19.8.0.0' ... }
上面的代碼片段中,ojdbc8代表了第8版的Oracle驅動,19.8.0.0則是具體的版本號。當然,你需要自行選擇你需要的版本。
接下來,我們就可以鏈接Oracle數據庫了,下面的代碼片段可以幫助你完成這個操作。
try { Class.forName("oracle.jdbc.driver.OracleDriver"); Connection connection = DriverManager.getConnection("jdbc:oracle:thin:@172.16.3.183:1521/pdb_test", "用戶名", "密碼"); //進行對數據庫操作的代碼 ... } catch (ClassNotFoundException | SQLException e) { e.printStackTrace(); }
上面這段代碼中,我們使用了JDBC驅動鏈接到了Oracle數據庫服務器。在getConnection方法中,《172.16.3.183》表示了數據庫所在的IP地址,而《pdb_test》則是連接到指定的數據庫實例。請注意,如果你使用的是Oracle 12c及以上的版本,連接串中應該包含服務名,而不是SID。
如果你連接失敗了,那么請先確定以下問題:
- Oracle數據庫服務器的防火墻是否開啟
- 是否有用戶和密碼輸入錯誤
- 數據庫是否正在運行
當我們連接成功之后,就可以開始進行數據庫操作了。下面舉一個例子來演示如何從數據庫中獲取數據。
String sql = "SELECT * FROM EXAMPLE_TABLE"; try { PreparedStatement ps = connection.prepareStatement(sql); ResultSet rs = ps.executeQuery(); while(rs.next()){ //此處加入你的處理代碼 ... } } catch (SQLException e) { e.printStackTrace(); }
上面這段代碼通過PreparedStatement對象來執行SQL查詢語句,并將結果集通過ResultSet對象進行返回。我們只需要使用ResultSet的next和get方法就可以獲取到所有的數據了。
最后,需要注意到的一點是,在Java中鏈接Oracle時,我們需要使用到Oracle的JDBC驅動。而這種驅動是需要我們自己獲取的。你可以到Oracle的官方網站中下載相應的驅動,但是這個過程可能會使用到企業的許可證。因此,在使用這種方法時,你需要先了解你的組織是否已經擁有了許可。如果沒有,你可以考慮使用其他方法,如JPA等來代替鏈接Oracle這個功能。