我在eclipse中用jdbc连接Oracle,在Servlet中用select 语句查询表空间“TEST_APP”中的表“TEST_TBL”,发现必须要加数据库的表空间名称才能正常取得结果,否则就会报“表或视图不存在……”的错误?请问有人遇到过这样的问题吗?我的环境是eclipse 3.4 + wtp + tomcat 6.0.18 + oracle 10g R2,就是语句必须要写成类似 select AAA, BBB from TEST_APP.TEST_TBL 的样子才能查到正确结果。这样的话,以后应用部署会有很多麻烦的,目标环境的表空间名不是确定的。请指教,谢谢。 

解决方案 »

  1.   

    除了user表空间外,还有很多其他的表空间。TEST_APP是专门用来运行测试例子的表空间。但是别的应用都不需这样写,对了,我这里是在eclipse中的build path中直接导入ojdbc14.jar来做的,连接方式是直接连接,没有使用连接池。
      

  2.   

     这跟Oracle本身的用权限有关。
     建议楼主细看一下Oracle。
      

  3.   

      这是因为你登陆的当时用户的,获得的数据库表对象,不在当前用户的表空间中!也就是当前用户登陆的时候,包含了多个表空间,不仅仅只有TEST_APP,所以要明确指定,当前登陆的用户的权限是比较高....
      

  4.   

    谢谢lin364653705,你说的简单明了。看来我对Oracle要多下功夫,系统学习才能把它用好。