我有一个oracle数据库,我需要访问信息,但我不能。我导入了OJDBC6驱动程序,我创建了类:
public class JDBC_ORA {
static String userName="XXX";
static String password="X";
static String server="192.168.X.X";
public Connection con;
public void conexion() {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:" + userName + "/" + password+ "@"+server);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void cerrar (Connection con) {
try {
con.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
我在主要活动中称之为:
JDBC_ORA ora_con = new JDBC_ORA();
ora_con.conexion();
try {
Statement stmt = ora_con.con.createStatement();
rset = stmt.executeQuery("select * from asdf where cid='"+ var + "'" );
while (rset.next())
{
System.out.println(blablablabla);
ora_con.con.commit();
}
stmt.close();
ora_con.cerrar(ora_con.con);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
并始终得到此错误
Could not find class 'oracle.security.pki.OraclePKIProvider', referenced from method oracle.jdbc.driver.OracleDriver.<clinit>
Could not find class 'javax.management.MBeanServer', referenced from method oracle.jdbc.driver.OracleDriver.registerMBeans
有人能帮助我吗?
答案 0 :(得分:2)
唐&#39;吨。如果这样做,您必须将密码放入应用程序。这意味着您的数据库完全不安全,任何拥有该应用程序副本的人都可以访问该数据库,并且可以对其进行5分钟的反编译。而是使用位于您的应用和数据库之间的Web服务。这样你就不需要密码就能离开你的机器了。
答案 1 :(得分:0)
最佳做法是使用用Java,.Net,PHP等编写的Web服务。然后,您需要将应用程序与您创建的Web服务连接起来。另一种方法是使用Oracle Database Mobile Server。
您可以在Google上轻松找到如何创建网络服务。