Java 在JSP中动态建立Oracle数据库连接
动态连接到数据库 嗨,我正在尝试动态连接到数据库。 所以,当用户从索引页单击链接时,它将发送参数“OS” 所以我的测试页面将接收参数OS,在包含数据库信息列表的文本文件中查找匹配项,如Java 在JSP中动态建立Oracle数据库连接,java,oracle,jsp,jdbc,Java,Oracle,Jsp,Jdbc,动态连接到数据库 嗨,我正在尝试动态连接到数据库。 所以,当用户从索引页单击链接时,它将发送参数“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:ZZZ
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无效。。。。
我做错了什么
显然,我的属性文件被损坏了>,这就是为什么我的属性文件只读取了它的一半组件的原因…无论如何感谢您的帮助您可以使用Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”)而不是DriverManager.registerDriver(新的oracle.jdbc.OracleDriver())强>
另外,您是否检查过YY.YYY.YY.YY:YYYY是否被正确的IP和端口替换?如果在getConnection()调用之前调试connString、connUser和connPass,它们的值是什么?它们的值是正确的idk为什么我会出现此错误有区别吗?是的,如果我尝试单独连接,IP和端口是正确的