动态连接数据库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 .... 我错了什么?
显然我的属性文件已被严格检查>。>这就是我的属性文件只读取其中一半组件的原因...感谢您的帮助
答案 0 :(得分:1)
您可以使用 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”); 而不是 DriverManager.registerDriver(new oracle.jdbc.OracleDriver());
此外,您是否检查过YY.YYY.YY.YY:YYYY是否被适当的IP和端口替换?