在JSP中以动态方式建立Oracle DB连接

时间:2012-11-30 18:23:15

标签: java oracle jsp jdbc

动态连接数据库jsp

嗨,我正在尝试动态连接到数据库。 因此,当用户从索引页面单击链接时,它将发送参数“OS” 所以我的测试页面将接收参数OS,在文本文件中查找具有数据库信息列表的匹配项,如

XP-jdbc:oracle:thin@xx.xxx.xx.xx:xxxx:XPXP1-XP_user-XP_pass
W7-jdbc:oracle:thin@YY.YYY.YY.YY:YYYY:W7W71-W7_user-W7_pass
MAC-jdbc:oracle:thin@ZZ.ZZZ.ZZ.ZZ:ZZZZ:MACO1-MAC_user-MAC_pass
LINNUX-jdbc:oracle:thin@AA.AAA.A.AA: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 .... 我错了什么?

显然我的属性文件已被严格检查>。>这就是我的属性文件只读取其中一半组件的原因...感谢您的帮助

1 个答案:

答案 0 :(得分:1)

您可以使用 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 而不是 DriverManager.registerDriver(new oracle.jdbc.OracleDriver());

此外,您是否检查过YY.YYY.YY.YY:YYYY是否被适当的IP和端口替换?