2012-11-30 34 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