这是我的java代码:
public List queryUsers(String type,String value ) throws Exception {
System.out.println("我在org.UserData.queryUsers中 1"); List allUsers = new ArrayList();
System.out.println("我在org.UserData.queryUsers中 2"); User user = null;
String sql = "select userid,uname,upassword,usex,uroleid,uemail,question,answers,webaddress,weblog,gallery,urank,birthday,newmessage,totalposts,umoney,experience,ufaceurl,regip,actip,to_char(regtime,'yyyy-mm-dd hh24:mi:ss'),to_char(posttime,'yyyy-mm-dd hh24:mi:ss'),to_char(lastacttime,'yyyy-mm-dd hh24:mi:ss'),realname,work,address,qq,interests,utitle,actday,usign,uinfo from td_users where "+type+" = ?"; PreparedStatement pstm = null;
System.out.println("我在org.UserData.queryUsers中 3"); try {
pstm = DbConn.getConn().prepareStatement(sql);
pstm.setString(1, value);
System.out.println("我在org.UserData.queryUsers中 4"); ResultSet rs = pstm.executeQuery();
System.out.println("我在org.UserData.queryUsers中 4-1"); if (rs.next()) {
System.out.println("我在org.UserData.queryUsers中 4-2"); user = new User();
user.setUserid(rs.getInt(1));显示错误如下:我在org.UserData.queryUsers中 1
我在org.UserData.queryUsers中 2
我在org.UserData.queryUsers中 3
conn is:jdbc:oracle:thin:@localhost:1521:tdbbs, UserName=ADMIN, Oracle JDBC driver
数据库连接成功!!
我在org.UserData.queryUsers中 4
java.sql.SQLException: ORA-00942: 表或视图不存在
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:622)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:180)
at oracle.jdbc.driver.T4CPreparedStatement.execute_for_describe(T4CPreparedStatement.java:419)
at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:895)
at oracle.jdbc.driver.T4CPreparedStatement.execute_maybe_describe(T4CPreparedStatement.java:451)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:985)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2887)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:2928)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
at org.UserData.queryUsers(UserData.java:93)
at org.apache.jsp.graduate.src.tiandao.WebRoot.logincheck_jsp._jspService(logincheck_jsp.java:115)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)请教高手,这是什么原因啊???
但是在oracle中:
SQL> select count(*) from td_users;  COUNT(*)
----------
         2明明有td_users表,而且表中还有两行数据了,为什么说我表或视图不存在???请高手解答!!!!

解决方案 »

  1.   

     请问zftang,具体怎么加用户名,怎么修改代码???你可以指教一二吗?
      

  2.   

    select count(*) from admin.td_users;
      

  3.   

    权限问题,可能是你的表的权限在使用Java连接的时候,并没有权限去访问,你检查线连接用的用户名的权限吧
      

  4.   

    或者你连接的用户(ADMIN)下没有这张(td_users).
    或者ADMIN没有select表tb_users的权限.
    重建,commit,再次连接数据库,看看...
      

  5.   

     BOBO12082119,你好!
    下面是我的最开始的步骤步骤(第一种方法):sqlplus/nolog
    conn system/orclcreate tablespace td_bbsp 
    datafile 'C:\tomcat\webapps\jsp15\graduate\td_bbsdf1.dbf' size 50m 
    uniform size 128k;--创建用户
    create user admin identified by admin default tablespace td_bbsp;--授予用户权限
    grant dba,connect,resource to admin;--利用创建用户登陆数据库
    connect admin/admin@"" as sysdba;---创建所有的表并插入数据
    。。
    。。此处省略很多行
    。。之后就不能连接数据库了,出现:java.sql.SQLException: ORA-00942: 表或视图不存在
    我根据各位高手帮助,改进后的做法
    sqlplus/nolog
    conn admin/admincreate tablespace td_bbsp 
    datafile 'C:\tomcat\webapps\jsp15\graduate\td_bbsdf1.dbf' size 50m 
    uniform size 128k;--授予用户权限
    grant dba,connect,resource to admin;
    ---创建所有的表并插入数据
    。。
    。。此处省略很多行
    。。commit;
    最后,我就成功了。
    请教各位,原来我用第一中方法没成功的原因是什么?
    第一中方法:
    虽然我先是用system登录的,但是接着我用admin:
    connect admin/admin@"" as sysdba;
    然后创建表了,不也是先用admin登录,在创建所有的表的吗,怎么就没有权限了??
    难道是没有 commit??请高手指点!!!
      

  6.   

    UserName=ADMIN用户admin 没有相应表的权限所致