连接数据库出现一系列问题:
先看代码:
package orcl;
import java.sql.*;
public class connect {
public static void main(String[] args) throws ClassNotFoundException,
SQLException {
// 第一步,建立驱动程序实例
Class.forName("oracle.jdbc.driver.OracleDriver");
// 第二步,获得连接
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:panda", "system", "python");
// 第三步,获得Statement
Statement stmt = con.createStatement();
String sql = "select name from Users";
// 第四步,执行SQL语句
ResultSet rs = stmt.executeQuery(sql);
// 处理结果集
while (rs.next()) {
// int id = rs.getInt("id");
String name = rs.getString("name");
System.out.println("name: " + name);
}
// 第六步s
rs.close();
stmt.close();
con.close();
}
}
执行代码,就出现ORA-00942: 表或视图不存在,实际上在panda数据库里是确有Users这个表的;网上搜了下,原因有二:一,写的表或视图名不对;二,没有查看表或视图的权限;
检查之后,确定肯定表名很正确;
那应该是没有权限访问了.
Users表是在命令行中以sqlplus sys/python@panda as sysdba;登陆并创建的,而在上面的程序里,是以system登陆并查看的,