【请教】eclipse中Java jdbc连接Oracle数据库,为什么语句需要在表名前加上数据库的表空间名称?

小菜园的稻草人 2009-09-22 09:18:28
我在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 的样子才能查到正确结果。这样的话,以后应用部署会有很多麻烦的,目标环境的表空间名不是确定的。

请指教,谢谢。
...全文
239 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
createWang 2009-09-23
  • 打赏
  • 举报
回复
thin就这样
lin364653705 2009-09-23
  • 打赏
  • 举报
回复
这是因为你登陆的当时用户的,获得的数据库表对象,不在当前用户的表空间中!也就是当前用户登陆的时候,包含了多个表空间,不仅仅只有TEST_APP,所以要明确指定,当前登陆的用户的权限是比较高....
menjianguo 2009-09-23
  • 打赏
  • 举报
回复
这跟Oracle本身的用权限有关。
建议楼主细看一下Oracle。
yzy_hf 2009-09-23
  • 打赏
  • 举报
回复
学习中
  • 打赏
  • 举报
回复
谢谢lin364653705,你说的简单明了。

看来我对Oracle要多下功夫,系统学习才能把它用好。
whiteGril 2009-09-23
  • 打赏
  • 举报
回复
学习了
  • 打赏
  • 举报
回复
除了user表空间外,还有很多其他的表空间。TEST_APP是专门用来运行测试例子的表空间。但是别的应用都不需这样写,对了,我这里是在eclipse中的build path中直接导入ojdbc14.jar来做的,连接方式是直接连接,没有使用连接池。
bayougeng 2009-09-22
  • 打赏
  • 举报
回复
你连接的那个数据库有多个表空间么?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧