application运行在服务器上,如果你在application里直接连接查询远程的视图的话呢?可行吗?

解决方案 »

  1.   

    谢谢dinya2003。
    我可以直接连接远程的视图,但是这样的查询视图是随着用户的选择而不同的,因此视图需要在远程动态建立,这就是我现在遇到的难题
      

  2.   

    把该数据库作一个DATABASELINK,用户连接该别名
      

  3.   

    再次感谢dinya2003,问题是我无法通过数据链在远程更新视图啊,你想,如果用户在A服务器上查询B服务器上的数据,由于查询涉及到CLOB,因此最好的方法是先在B服务器上创建视图,然后拷贝到本地临时表,但是每次用户提交的查询都可能不一样,因此在远程建立的视图也不一样啊,这点我现在不知道该如何控制,总不可能让用户每次查询的时候都在远程手动建立一个视图吧,如果这样的话还不如让用户直接在远程登陆然后查看
      

  4.   

    要么从A建一个到B服务器的数据库连接.不用拷贝到本地.
    create database link link_name 
    connect to 用户 identified by 密码
    using 'B数据库'A库中
    select * from table_name@link_name
      

  5.   

    算了,我最开始就是这样做的
    你应该知道基于数据库链是不能直接查询大字段的吧!
    我现在的语句是:
    CREATE MATERIALIZED VIEW TEST_AIX
    STORAGE ( INITIAL 10M NEXT 1M MAXEXTENTS UNLIMITED) 
    TABLESPACE "DAT" 
    USING NO INDEX  
    NEVER REFRESH
    AS
    Select CDATE,CCCC,CTIME,TYPE,BULLETIN From [email protected]
    Where CCCC || TYPE || CTIME IN(Select CCCC || TYPE || MAX(CTIME)
    From [email protected]
    Where  CDATE='20040812'
    Group By CCCC,TYPE) AND CDATE='20040812';