最近老师布置的任务,不得不接触Oracle了
可是本人比较愚钝,好多地方不太明白。
1.我在方案如HR里面创建了一个表HAHA,这个表又是在TEST表空间里面的
该怎么通俗点理解这个方案和表空间之间的联系和区别呢?2.比如我写了一个JSP页面来访问数据库,
这里我是这样写的,
ResultSet rs = st.executeQuery("select *  from HR.HAHA ");我这样写有问题,找不到该表,该怎么改呢?是否是把方案写在表前面指明呢?还是应该
ResultSet rs = st.executeQuery("select *  from ‘HR.HAHA’ ");这样?
还是
ResultSet rs = st.executeQuery("select *  from \"HR\".\"HAHA\" ");
不过这三种我都试过了,都有问题,
求解答,O(∩_∩)O谢谢

解决方案 »

  1.   

    表空间
    Oracle 数据库包括一个或多个称为表空间的逻辑存储单元,这些表空间可以作为一个整体存储数据库的所有数据。 
    Oracle 数据库中的每一个表空间包括一个或多个称为数据文件的文件,这些数据文件是与运行 Oracle 软件的操作系统一致的物理结构。 
    数据库的数据作为一个整体存储在构成数据库每一个表空间的数据文件中。
    方案
    方案是指由特定用户拥有的数据库对象的集合。对于生产数据库而言,这个用户代表的通常不是一个人,而是一个应用程序。方案的名称与拥有该方案的用户的名称相同。方案对象是指直接引用数据库数据的逻辑结构。方案对象包含诸如表、视图和索引等多种结构。  
    使用 SQL 或 Enterprise Manager 可创建并处理方案对象。使用 Oracle Enterprise Manager 时,系统会生成基础 SQL 语句。 
    注:方案不一定要直接与单个表空间相关。您可以定义一些配置,这样,一个方案中的对象可以保存在不同的表空间中,一个表空间也可以保存不同方案中的对象。 
    创建数据库时,系统会创建多个方案。以下是两个重要方案: 
    SYS 方案:包含数据字典。  
    SYSTEM 方案:包含存储管理信息的附加表和视图。
      

  2.   


    oracle 表空間和数据文件
      

  3.   


    用HR用户登录,
    在这个用户下建立表table,并指定表存放的位置是test表空间里面
    create table HAHA(
           col_1 datatype,...)
    tablespace test;
    --
    连接数据库,
    首先是得建立并打开一个connection,传入用户名和密码,
    再执行sql语句,获得dataset
    最后关闭连接
      

  4.   


    恩,挺好的~~不过能说下我那个SQL语句到底哪里出问题了吗?
    让我好纠结的 - -
      

  5.   

    你应该是要以hr的用户去创建连接吧?
    你这样select * from HR.HAHA  结果应该被转换变成了select * from hr.HR.HAHA 这样就会找不到了。
      

  6.   

    http://blog.csdn.net/mingchaoyan/archive/2011/04/07/6308011.aspx
    我们学校的作业; 
    lz可以参考借鉴
      

  7.   

    另一贴中有如下答复可以参考:一个表空间,可以有好几个用户。表空间其实对表来说只是说明存放位置的事情!而用户说明了表的所有权问题!] 
    就象你有一个家!但是你家却有好几个房子!那么你就是那表;房子是表空间,你可以在这个房子里,也可以在其它房子里,而且可以跑到其他人家的房子里;家就是用户,说明不管你到那里,你都属于这个家
    http://topic.csdn.net/t/20050606/09/4061585.html