2012-11-30 40 views
0

動態連接到數據庫jsp在JSP中動態連接Oracle DB連接

嗨,我試圖動態連接到數據庫。 因此,當用戶單擊索引頁鏈接,它會發送參數「OS」 所以我的測試頁將接收參數的操作系統,會在文本文件配襯有像

XP-jdbc:oracle:[email protected]:xxxx:XPXP1-XP_user-XP_pass 
W7-jdbc:oracle:[email protected]:YYYY:W7W71-W7_user-W7_pass 
MAC-jdbc:oracle:[email protected]:ZZZZ:MACO1-MAC_user-MAC_pass 
LINNUX-jdbc:oracle:[email protected]:AAAA:LINN1-LINNUX_user-LINNUX_ph1 

我嘗試的數據庫信息列表:

String userName = request.getParameter("OS"); 
try{ 
    String db = ""; 
    String[] temp1; 
    String dblist = root + "\\" + "dblist.txt"; 
    BufferedReader dbin = new BufferedReader(new FileReader(dblist)); 
    while ((db = dbin.readLine()) != null){ 
     temp1=db.split("-"); 
     if ((temp1[0].equals(userName))){ 
      connString = temp1[1].toString(); 
      connUser = temp1[2].toString(); 
      connPass = temp1[3].toString(); 
     } 
    } 
    dbin.close(); 
}catch (IOException ex) { 
    System.out.println(ex); 
} 

try{ 
    DriverManager.registerDriver(new oracle.jdbc.OracleDriver()); 
    Connection conn = DriverManager.getConnection(connString, connUser, connPass); 
    Statement stmt = conn.createStatement(); 

} 

我的問題是,這是行不通的! 我得到java.sql.SQLException:當我打開我的網頁時指定了無效的Oracle URL ... 我有什麼錯誤?

顯然,我的財產文件corrutped>>這是爲什麼我的屬性文件只讀一半的它的成分......感謝您的幫助反正

+1

如果在getConnection()調用之前調試connString,connUser和connPass,它們的值是什麼? – user553180

+0

他們有正確的價值idk爲什麼我得到這個錯誤 – user1516649

回答

1

你可以使用的Class.forName(「陽光下。 jdbc.odbc.JdbcOdbcDriver「);而不是DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

另外,你檢查是否YY.YYY.YY.YY:YYYY被替換爲正確的IP和端口?

+0

它有什麼區別?是的,如果我嘗試單獨連接,IP和端口是正確的 – user1516649