0

动态连接数据库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: Invalid Oracle URL specified when I open my web page....我做错了什么?

显然我的属性文件被损坏了>.>这就是为什么我的属性文件只读取了它的一半组件的原因......无论如何感谢您的帮助

4

1 回答 1

1

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

另外,您是否检查过 YY.YYY.YY.YY:YYYY 是否被正确的 IP 和端口替换?

于 2012-12-02T04:31:39.570 回答