2010-06-04 55 views
3

所以我在我的boot.scala是這樣的:幫助提升連接到Oracle數據庫

object DBVendor extends ConnectionManager { 
def newConnection(name: ConnectionIdentifier): Box[Connection] = { 
    try { 
    Class.forName("oracle.jdbc.driver.OracleDriver") 
    val dm = DriverManager.getConnection("jdbc:oracle:thin:@hostname:1521:orcl", "username", "password"); 

    Full(dm) 
    } catch { 
    case e : Exception => e.printStackTrace; Empty 
    } 
} 
def releaseConnection(conn: Connection) {conn.close} 
} 

夫婦簡單的問題我已經是... 如何建立連接的驅動程序?

從我看到的@hostname已經爲本地數據庫,但我的遠程...我有所有的信息,通過我使用的sqldeveloper連接到它,並認爲我需要的是所有的主機名。
如果需要的話,所有需要到達的主機名都是?或者我是否需要某種絕對地址?

回答

0

只要運行代碼的機器可以看到主機名(您可以使用簡單的ping進行測試),這就是您所需要的。

您需要在Java路徑中找到適當的oracle jdbc驅動程序。你可以從最新的驅動程序downloads.oracle.com

+0

我知道連接工程,我已經連開使用相同的網址和用戶名/密碼,我使用的代碼數據庫。我在eclipse中打開它只是爲了確保eclipse可以連接到它。我有我從相信從我添加到類路徑時引用的庫中下載的Oracle瘦驅動程序...但我仍然得到一個錯誤,它無法找到它。 – user357872 2010-06-09 15:18:51

+0

確切的錯誤是什麼。目前還不清楚它是否找不到主機或找不到驅動程序。如果它是主機,請嘗試IP地址而不是主機名。 – 2010-06-09 23:09:15

0

您將需要服務器的IP地址改變「主機」(正如加里說,如果你不知道的IP地址,你可以測試「 ping主機名「)。

在提升,爲JDBC的驅動程序的默認路徑是

%你的項目的路徑%/ src目錄/主/ web應用/ WEB-INF/lib目錄

也許,你必須創建lib的文件夾。如果您已經安裝了Oracle的客戶端,您可以複製此時,相應的驅動程序:

%的甲骨文客戶路徑%/ JDBC/lib目錄

0

連接字符串中的@hostname代表的主機名託管數據庫的物理機器。 數據庫主機的主機名及其IP地址應位於操作系統的主機文件中。您也可以在連接字符串中使用硬編碼的IP地址。 @主機名不會引用您的「本地數據庫」。如果客戶端應用程序在承載數據庫的同一臺服務器上運行,則可以在連接字符串中使用@localhost。 orcl代表一個oracle服務。此信息應由您的數據庫管理員提供。

還要檢查這個環節出: http://www.java-tips.org/other-api-tips/jdbc/how-to-connect-oracle-server-using-jdbc-4.html